แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - 001Jetnipit

หน้า: 1 2 3 4 [5]
65
seachcombo คืออะไรเอาออกได้ไหม

เหมือนมันทำงานซ้ำซ้อนกันอยู่

และตรง CmdSearch_Click เอาโค้ดออกให้หมดให้เหลือแค่
SearchCriteria พอ ถ้าอยากให้ที่ปุ่ม ค้นหาหาเฉพาะชื่อ ไม่ให้เงื่อนไขของ อายุ เพศ และ แผนกเข้ามาเกี่ยวข้องก็กำหนดให้คอมโบบ๊อกอื่นๆ มีค่า null ก่อนได้เช่น
Private CmdSearch_Click
Cbosex = null
cboAge = null
cboDep = null
SearchCriteria
End Sub

หรือถ้าต้องการกำหนดการค้นหาเฉพาะตัวมันเองเวลากดค้นหา
ที่ Private CmdSearch_Click
ก็ไม่ต้องใส่ SearchCriteria เข้าไป
ใส่เฉพาะ Combobox ที่ใช้ในการค้นหาก็พอ

ท่านสามารถุ Copy Code มาวางในนี้เพื่อง่ายต่อการช่วยแก้ไขมากกว่ารูปนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

66
สามารถใช้ ApplyFilter หรือ Filter ก็ได้ครับ

หรือใช้การค้นหาแบบ multiple Criteria ก็ได้ครับผมว่ามันสะดวกดีนะเช่น
โดยสร้าง Sub ไว้เรียกใช้เช่น
Sub SearchCriteria
Dim sql as string
sql = "SELECT * FROM ptt WHERE [Name] like '" & Nz(Me.TextSearch, "*") & "' and [Sex] like '" & Nz(Me.CboSex, "*") & "' and [Dep] like '" & Nz(Me.CboDep, "*") "' and [Age] like '" & Nz(Me.CboAge, "*") & "'"
แล้วตามด้วยโค้ดเดิม
forms......................RecordSource = sql
forms.......................Requery
end sub

แล้วหา Event เช่น Call SearchCriteria เรียกใช้ได้เลยเช่น
1.ใส่ที่ปุ่ม Search  Event Click
2.ที่คอมโบบ๊อกทั้งสอง Event Afterupdate
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

67
งงตรง 2 GB ครับ คือขนาดสูงสุดในการแนบเข้า/ไฟล์รูป หรือ ขนาดฐานข้อมูลทั้งหมดต่อในไฟล์ Access เราครับ

ทั้งหมดคับ ไม่ใช่เฉพาะรูปภาพ
Table size = 2 gigabyte minus the space needed for the system objects
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

68
ที่ปุ่มปริ้นใส่แบบนี้ครับ โค้ดจะไปจับ ID ของแต่ละ Record ที่มีบนฟอร์ม มาแสดงในรายงานแบบเดียวกัน

โค๊ด: [Select]
Dim rsc As DAO.Recordset
Dim StrWhere As String
     Set rsc = Forms![Navigation_Form]![NavigationSubform]![PTT].Form.RecordsetClone
        rsc.MoveFirst
     Do While Not rsc.EOF
        StrWhere = StrWhere & " OR ID=" & rsc!ID
        rsc.MoveNext
     Loop
        If Len(StrWhere) > 0 Then
           StrWhere = Right(StrWhere, Len(StrWhere) - 4)
        End If
     DoCmd.OpenReport "ptt", acViewPreview, , StrWhere
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

69
อ่อ มันไม่ได้ใช้การ filter ข้อมูลนะครับ ใช้ bookmark ใช่ไหม
งั้นโค้ดเงื่อนไข ต้องแก้ เดี่ยวขอปรับแก้แปป
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

70
Set frm = Forms![Navigation_Form]![NavigationSubform]![PTT].Form

ผมลองสร้างให้อยู่ใน Navigation_Form ดูสามารถทำได้

เช็คการตั้งชื่อของฟอร์มแต่ละอันว่าตรงกันไหมกับโค้ดด้านบน
โดยการดูชื่อคลิ๊กที่กรอบของฟอร์มแล้วดูตรงชื่อ


ตัวอย่างการตั้งค่าด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

71
สามารถทำได้โดย
1.สร้างตัวรายงานขึ่นมา 1 อันที่มี RecordSource เดี่ยวกันกับที่มีอยู่บน Form
2.สร้างปุ่มสำหรับปริ้นใส่โค้ดเข้าไป
สมมุติชื่อ frmMain   'ชื่อฟอร์มหลัก
สมมุติชื่อ frmSub    'ชื่อซับฟอร์ม
กรณีที่ form ไม่มีฟอร์มย่อย  ก็ใส่ set frm เป็น Set frm = Forms!frmMain.Form
กรณีที่ form มีฟอร์มย่อย  ก็ใส่ set frm เป็น Set frm = Forms!frmMain.frmSub.Form
สมมุติชื่อรายงานที่จะแสดงชื่อ Report1

Private Sub CmbPrint_Click()
Dim frm As Form
Set frm = Forms!frmMain.frmSub.Form
If frm.FilterOn Then
DoCmd.OpenReport "Report1", acViewPreview, , frm.Filter
Else
DoCmd.OpenReport "Report1", acViewPreview
End If
End Sub

โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

72
SYSTEM LOCATE ไม่เหมือนกันแน่เลย
ที่ตัวรายงานให้กำหนดการแสดงรูปโดยกำหนด Criteria ตามรูปนะ
ที่ตัวรายงาน
1.เข้าไปกำหนด RecordSource
1.

2.เมื่อเข้ามาแล้วกำหนด Criteria โดยใช้ฟิลล์ที่จะอ้างอิง จากตัวอย่างผมใช้
Field เก็บรูปชือ Field1
Field EmpID โดยอ้างอิ้งเทคบ๊อก EMPID
ชื่อฟอร์มชื่อ Frm1 โค้ดจะเป็น   Nz([forms]![Frm1]![EMPID],"")
2.

3.ตรงปุ่มปริ้นใส่โค้ดแบบนี้
Me.Dirty = False
DoCmd.OpenReport "rpt1", acViewPreview
ถ้ายังไม่เข้าใจถ้าสามารถรีโมทได้จะไปเพิ่มให้
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

73
ถ้าท่านต้องการปริ้นทันที ไม่แสดงตัวอย่างก็แก้โค้ดเป็นแบบนี้

แก้จาก DoCmd.OpenReport "rpt1", acViewPreview
เป็น DoCmd.OpenReport "rpt1", acViewNormal

ตัวอย่างด้านบนผมแก้ไขใหม่ครับ โหลดไปดูได้
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

74
อ้างถึง
Button ไว้ และ Report ของ field รูปภาพ ตอนเราดูพนักงานคนไหนอยู่ เมื่อกด Button ใต้รูป มันก็จะพิมพ์รูปนั้นๆ ออกมา
Field เก็บรูปเป็นแบบ Attachment หรือเปล่าครับ
ในรายงานมีรหัสของพนักงานแต่ละคนอยู่ด้วยไหมครับ ถ้ามีสามารถใช้การอ้างอิง Field รหัสพนักงานเพื่อพิมพ์ภาพของ Record นั้นได้ครับ

ตัวอย่างด้านล่าง


โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

75
โดยปกตินั้นเราจะใช้ Query ในการเชื่อมหรือผูกชุดข้อมูลถึงกันเช่น เราเชื่อมรหัสลูกค้าจากใบสั่งซื้อ --> รหัสลูกค้าจากบัญชีรายชื่อ ก็จะได้ข้อมูลเป็นเลขที่ใบสั่งซื้อ,ชื่อ-ที่อยู่ผู้ซื้อ,ราคา,ฯลฯ เป็นต้น(ข้อมูลต่อกันในแนวนอน)

กลับไปที่หัวข้อการใช้ UNION Query นั้นจะเป็นการนำข้อมูลมารวมต่อกันในแนวตั้งลงมาตัวอย่างเช่น เราอยากรู้ว่าทัั้งรายชื่อผู้ขาย(เซล),รายชื่อผู้ซื้อ(ลูกค้า),รายชื่อติดต่ออื่นๆนั้นมีใครบ้างนั้นเราก็ใช้ UNION Query จับมารวมกัน หรือถ้าอย่างผมมีตารางเก็บใบสั่งซื้อแยกปีแต่อยากรู้ว่าตั้งแต่ปี 59,60,61,62 ถ้ารวมกันแล้วมีค่าเท่าไหร่ หรือมากรองว่าลูกค้าคนนี้ทั้งหมดแล้วซื้ออะไรไปบ้างทั้งที่ข้อมูลอยู่คนล่ะตารางกันเป็นต้นครับ

อธิบายมาซะยาวมาถึงวิธีการนำไปใช้งานนั้นสามารถชมคลิปตัวอย่างจากทาง microsoft ได้เลยครับผม -->Watch an example of building a union query link


ที่มา Use a union query to combine multiple queries into a single result link
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

หน้า: 1 2 3 4 [5]