กระทู้เก่าบอร์ด อ.Yeadram
2,332 2
URL.หัวข้อ /
URL
Go to record ยังไงครับ
คือต้องการมี ปุ่ม search ที่จะไปเรียกข้อมูลที่เก็บไว้ยังไงครับ
ใช้ Macro ไม่เป็นเลย
ขอบคุณครับ
ใช้ Macro ไม่เป็นเลย
ขอบคุณครับ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R18359
ใช้ goto control และ Find Record ครับ
2 @R18364
คำสั่ง DoCmd.FindRecord ค้นหาข้อมูลในฟิลด์ แบบพื้นฐานของ MS Access
ตัวอย่าง: หากมีฟอร์มชื่อ Form1 ต้องการค้นหาข้อมูลในคอนโทลชื่อ Name โดยใส่คำที่ต้องการค้นหาใน Text Box ชื่อ Text0
รูปแบบมาตรฐานของ MS Access:
On Error GoTo FindTxt_Find1_Err
DoCmd.GoToControl "Name" ' หรือจะใช้คำสั่ง Me.Name.SetFocus ก็ได้เช่นกัน
DoCmd.FindRecord Forms![Form1]!Text0, , True, , True
FindTxt_Find1_Exit:
Exit Function
FindTxt_Find1_Err:
MsgBox Error$
Resume FindTxt_Find1_Exit
โดยมีรูปแบบคำสั่งดังนี้:
DoCmd.FindRecord(FindWhat, Match, MatchCase, Search, SearchAsFormatted, OnlyCurrentField, FindFirst)
FindWhat: คำที่ต้องการค้นหา รูปแบบ String
Match: acEntire - คำตรงเท่านั้น
acAnywhere - คำตรงในประโยค
acStart - คำตรงหน้าประโยค
MatchCase: อักษรอังกฤษ แยกความต่างระหว่างตัวอักษรใหญ่หรือเล็ก
Search: acDown - ไล่จากเรคคอร์ดน้อยไปมาก
acSearchAll - ทุกเรคคอร์ด
acUp - ไล่จากเรคคอร์ดมากไปน้อย
FindFirst: เริ่มหาที่เรคคอร์ดแรกสุดเสมอ
1. หาคำตรง ในเรคคอร์ดแรกสุด โดยตัวอักษรใหญ่เล็กถือว่าเหมือนกัน (Entire, SearchAll, FindFirst)
DoCmd.FindRecord Forms![Form1]!Text0, acEntire, False, acSearchAll, , acCurrent, True
2. หาคำตรง ในเรคคอร์ดแรกสุด โดยตัวอักษรใหญ่เล็กถือว่าต่างกัน (Entire, MatchCase, SearchAll, FindFirst)
DoCmd.FindRecord Forms![Form1]!Text0, acEntire, True, acSearchAll, , acCurrent, True
3. หาคำในประโยค ในเรคคอร์ดแรกสุดเสมอ โดยตัวอักษรใหญ่เล็กไม่มีผล
DoCmd.FindRecord Forms![Form1]!Text0, acAnywhere, False, , False, acCurrent, True
4. หาคำในประโยค ในเรคคอร์ดถัดไป จากเรคคอร์ดปัจจุบัน โดยตัวอักษรใหญ่เล็กไม่มีผล
DoCmd.FindRecord Forms![Form1]!Text0, acAnywhere, False, acDown, False, acCurrent, False
5. หาคำในประโยค ในเรคคอร์คก่อนหน้า จากเรคคอร์ดปัจจุบัน โดยตัวอักษรใหญ่เล็กไม่มีผล
DoCmd.FindRecord Forms![Form1]!Text0, acAnywhere, False, acUp, False, acCurrent, False
ประมาณนี้ศึกษาดูครับ
ตัวอย่าง: หากมีฟอร์มชื่อ Form1 ต้องการค้นหาข้อมูลในคอนโทลชื่อ Name โดยใส่คำที่ต้องการค้นหาใน Text Box ชื่อ Text0
รูปแบบมาตรฐานของ MS Access:
On Error GoTo FindTxt_Find1_Err
DoCmd.GoToControl "Name" ' หรือจะใช้คำสั่ง Me.Name.SetFocus ก็ได้เช่นกัน
DoCmd.FindRecord Forms![Form1]!Text0, , True, , True
FindTxt_Find1_Exit:
Exit Function
FindTxt_Find1_Err:
MsgBox Error$
Resume FindTxt_Find1_Exit
โดยมีรูปแบบคำสั่งดังนี้:
DoCmd.FindRecord(FindWhat, Match, MatchCase, Search, SearchAsFormatted, OnlyCurrentField, FindFirst)
FindWhat: คำที่ต้องการค้นหา รูปแบบ String
Match: acEntire - คำตรงเท่านั้น
acAnywhere - คำตรงในประโยค
acStart - คำตรงหน้าประโยค
MatchCase: อักษรอังกฤษ แยกความต่างระหว่างตัวอักษรใหญ่หรือเล็ก
Search: acDown - ไล่จากเรคคอร์ดน้อยไปมาก
acSearchAll - ทุกเรคคอร์ด
acUp - ไล่จากเรคคอร์ดมากไปน้อย
FindFirst: เริ่มหาที่เรคคอร์ดแรกสุดเสมอ
1. หาคำตรง ในเรคคอร์ดแรกสุด โดยตัวอักษรใหญ่เล็กถือว่าเหมือนกัน (Entire, SearchAll, FindFirst)
DoCmd.FindRecord Forms![Form1]!Text0, acEntire, False, acSearchAll, , acCurrent, True
2. หาคำตรง ในเรคคอร์ดแรกสุด โดยตัวอักษรใหญ่เล็กถือว่าต่างกัน (Entire, MatchCase, SearchAll, FindFirst)
DoCmd.FindRecord Forms![Form1]!Text0, acEntire, True, acSearchAll, , acCurrent, True
3. หาคำในประโยค ในเรคคอร์ดแรกสุดเสมอ โดยตัวอักษรใหญ่เล็กไม่มีผล
DoCmd.FindRecord Forms![Form1]!Text0, acAnywhere, False, , False, acCurrent, True
4. หาคำในประโยค ในเรคคอร์ดถัดไป จากเรคคอร์ดปัจจุบัน โดยตัวอักษรใหญ่เล็กไม่มีผล
DoCmd.FindRecord Forms![Form1]!Text0, acAnywhere, False, acDown, False, acCurrent, False
5. หาคำในประโยค ในเรคคอร์คก่อนหน้า จากเรคคอร์ดปัจจุบัน โดยตัวอักษรใหญ่เล็กไม่มีผล
DoCmd.FindRecord Forms![Form1]!Text0, acAnywhere, False, acUp, False, acCurrent, False
ประมาณนี้ศึกษาดูครับ
Time: 0.3261s