-
' ย้ายไปบันทึกแบบสุ่ม - ส่วนขยายของ Steven Jones
ถ้าไม่ใช่(ชุดระเบียน name.bof และชุดระเบียน name.eof) จากนั้น
' รีเซ็ตเคอร์เซอร์ไปที่จุดเริ่มต้น
ถ้า (RecordSetName.CursorType > 0) แล้ว
ชื่อชุดระเบียน MoveFirst
อื่น
ชื่อชุดระเบียน คำขอ
สิ้นสุดถ้า
ชุดระเบียน name_totalrn = -1
RecordsetName_totalrn = RecordsetName.RecordCount ' ใช้งานได้กับชุดระเบียนบางชุด แต่จะเร็วกว่ามาก
ถ้า (recordsetname_totalrn = -1) จากนั้น ' และหากไม่ได้ผล เรายังคงต้องนับบันทึก
' นับบันทึกทั้งหมดโดยการวนซ้ำผ่านชุดระเบียน
ชุดระเบียน name_totalrn=0
ในขณะที่ (ไม่ใช่ชื่อชุดบันทึก.EOF)
recordsetname_totalrn = recordsetname_totalrn + 1
ชื่อชุดระเบียน MoveNext
เวนด์
' รีเซ็ตเคอร์เซอร์ไปที่จุดเริ่มต้น
ถ้า (RecordSetName.CursorType > 0) แล้ว
ชื่อชุดระเบียน MoveFirst
อื่น
ชื่อชุดระเบียน คำขอ
สิ้นสุดถ้า
สิ้นสุดถ้า
' ตอนนี้ทำการปรับเปลี่ยนขั้นสุดท้าย และย้ายไปยังบันทึกแบบสุ่ม
recordsetname_totalrn = recordsetname_totalrn - 1
ถ้า recordsetname_totalrn > 0 แล้ว
สุ่ม
ชื่อชุดระเบียน ย้าย Int ((ชื่อชุดระเบียน_totalrn + 1) * Rnd)
สิ้นสุดถ้า
สิ้นสุดถ้า
' เสร็จสิ้น คุณควรตรวจสอบชุดระเบียนว่างก่อนที่จะแสดงข้อมูล
-