325
ห้อง MS Access / : Export Query หลายๆ Query ออกเป็น Text ไฟล์ๆ เดียว
« เมื่อ: 14 ม.ค. 62 , 10:45:54 »
ไม่เข้าใจครับว่าเกี่ยวกับคิวรี่ยังไง เพราะนี่มันภาษา XML นะครับ ไม่ใช่ Access
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.
' โค้ดนี้เป็นแค่แนวทาง ต้องไปปรับปรุงเองนะครับ
Public Function F(aPK1 as Variant , ... , aPKn as Variant , aF as Variant) as Variant
Dim RS As DAO.Recordset
' กรณีเป็นบรรทัดของ New Record ค่าที่ส่งมาจะเป็น NULL
' ก็ไม่ต้องทำอะไร ออกจากฟังก์ชั่นได้เลย
If IsNull(aPK1) Then Exit Function
' กำหนด recordset ของฟอร์มที่โค้ดจะใช้ในการค้นหาเพื่อเปรียบเทียบ
Set RS = Forms("ชื่อฟอร์ม").RecordsetClone
' ทำการรวบรวมทุกเรคอร์ดให้ recordset รู้จัก
RS.MoveLast
' ค้นหาเรคอร์ดที่มีค่าตรงกับ Primary Key ของบรรทัดนั้นๆ
RS.FindFirst " ฟิลด์1 = " & aPK1 & " and ฟิลด์2 = " & aPK2 & ... & " and ฟิลด์n = " & aPKn
' ถ้าเป็นบรรทัดแรก ค่าที่ส่งกลับไปแสดงก็คือค่าที่ส่งเข้ามานั่นเอง
If RS.AbsolutePosition = 0 Then
F = aF
Exit Function
End If
' ย้อนกลับไป 1 เรคอร์ด (บรรทัด)
RS.MovePrevious
' ถ้าค่าของฟิลด์ในบรรทัดก่อนหน้าไม่เท่ากับค่าที่ส่งมา ก็ให้ส่งกลับไปแสดงค่าที่ส่งเข้ามาเช่นกัน
If RS("ชื่อฟิลด์") < > aF Then
F = RS("ชื่อฟิลด์")
End If
' แต่ถ้าเท่ากัน ก็ไม่ต้องส่งอะไรกลับ มันจะเป็น NULL เป็นค่าว่างๆ
End Function