ข้อมูลใน Form เวลาสั่ง print เราสามารถเลือกได้ไหมครับว่าอะไรเอา อะไรไม่เอา???



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

26 พ.ค. 63 , 14:24:31
อ่าน 499 ครั้ง

pattan0013

ข้อมูลใน Form เวลาสั่ง print เราสามารถเลือกได้ไหมครับว่าอะไรเอา อะไรไม่เอา???

อย่างในรูป อยากให้พริ้นออกมาแค่ข้อมูลที่ 1 เท่านั้น ทำยังไงครับ???


 

04 มิ.ย. 63 , 17:46:50
ตอบกลับ #1

Mr. J (^J^)

ใช้วิธีการซ่อน Control ต่างๆ ที่อยู่ในแต่ละ Area ของฟอร์มดูนะครับ  วิธีง่ายๆ ตามด้านล่างนี้ครับ
==================================================
เพิ่มปุ่ม Command เข้าไปในฟอร์ม 4 ปุ่ม
Name:    cmdShowAll  |  cmdShowA1 | cmdShowA2   |  cmdShowA3
Caption:  [Show All]    |   [Show #1]  |  [Show #2]    |   [Show #3]

และที่ Control แต่ตัว เฉพาะใน Area 1, 2 และ 3 ให้ระบายรวบ ทุกๆ Control ใน Area นั้นๆ
     แล้วเปลี่ยน Properties ที่ชื่อว่า tag เป็นตัวเลข 1, 2 และ 3 ตามแต่ละ Area
     ส่วน Control อื่นๆ ที่ต้องพิมพ์ทุกๆครั้ง ไม่ต้องระบุครับ
เมื่อคลิกปุ่มหนึ่งปุ่มใดใน 4 ปุ่ม นี้ จะทำการซ่อน/แสดง Control ตาม Area
หลังจากที่ซ่อนแล้ว สามารถสั่งพิมพ์ฟอร์มได้ต่างต้องการครับ
----------------------------------------------------------------------------------------

Option Compare Database
Option Explicit


Sub ShowForm(Optional ShowArea As Byte = 0)
   'ซ่อน/แสดง Control
   Dim ctl As Control
   Dim ShowMe As Boolean
   
   'ShowArea = 0 is Show All
   
   'ย้ายโฟกัสมาที่ Control ตัวอื่นก่อน กัน Error ขณะซ่อน Control ที่โฟกัสอยู่
   txtDATE.Tag = ""
   txtDATE.SetFocus
   'วนซ่อน Control
   For Each ctl In Me.Controls
        If ShowArea = 0 Or ctl.Tag = "" Or ctl.Tag = ShowArea Then
           'Show All | Show for No Tag | Show for Matching Area
           ctl.Visible = True
        Else
           ctl.Visible = Fase
        End If
       
   Next ctl
   
   'ซ่อนปุ่มคำสั่ง Show ต่างๆ
   cmdShowAll.Visible = False
   cmdShowA1.Visible = False
   cmdShowA2.Visible = False
   cmdShowA3.Visible = False
   '4 ปุ่มนี้ แสดงเมื่อ Form_load หรือ Detail_DblClick
End Sub

Private Sub cmdShowAll_Click()
   ShowForm
End Sub

Private Sub cmdShowA1_Click()
  Call ShowForm(1)
End Sub

Private Sub cmdShowA2_Click()
  Call ShowForm(2)
End Sub

Private Sub cmdShowA3_Click()
  Call ShowForm(3)
End Sub


Private Sub Detail_DblClick(Cancel As Integer)
   'คลิกๆ ที่ว่าง (Form Detail) เพื่อแสดงปุ่มที่ซ่อนไป
   cmdShowAll.Visible = True
   cmdShowA1.Visible = True
   cmdShowA2.Visible = True
   cmdShowA3.Visible = True
End Sub

----------------------------------------------------------------------------------------


ลองปรับใช้ดูนะครับ
ูู๋^J^
"บุญ หรือ บาป"  ใครก็จับใส่มือเราไม่ได้  มีเพียงเราเท่านั้นที่เป็นผู้กระทำขึ้นเอง
 (สิ่งที่คนอื่น กระทำ  คือ กรรมของเขา | สิ่งที่ตัวเรา กระทำ  คือ กรรมของเรา)

      ไม่ว่าจะกี่คำพูด จะกี่กระทำ ที่กระทบกระทั้ง ให้สะท้านกายสะเทือนใจ
                        จงอย่าไหวหวั่น มีสติเท่าทันเข้าไว้
 
โพสต์นี้ได้รับคำขอบคุณจาก: pirin, kn208598


บอร์ดเรียนรู้ Access สำหรับคนไทย