บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ recordset

เทคนิคการใช้ Recordset ในการเปิดตารางฐานข้อมูล ของ Access VBA

เทคนิคการใช้ Recordset ของ MS Access ใช้ DAO หรือ ADO ทั้ง DAO และ ADO ต่างก็มีวัตถุ Recordset เหมือนกัน แต่มี method properties และ options ต่างกัน แต่ DAO เป็น native library ที่ของ ACCESS MS Access แต่ละรุ่นมีการตั้งค่า Default ของ Library ต่างกัน ดังนั้น ในการกำหนด Dim ต้องกำหนดให้ชัดเจน เช่น Dim rst as DAO.Recordset ไม่ใช่ Dim rst as Recordset ควรกำหนด Type ให้กับ Recordset เสมอ โดยปกติ Access จะกำหนด Type เป็นแบบ Dynaset (dbOpenDynaset) เมื่อเปิด Query หรือ ตารางเชื่อมโยง และกำหนด Type  เป็นแบบ Table (dbOpenTable)เมื่อเปิดตารางในฐานข้อมูลเดียวกัน ซึ่งทั้งสองประเภทนี้มี Method ที่ต่างกัน เช่น dbOpenTable มี Seek แต่ไม่มี FindFirst เป็นต้น ดังนั้น ถ้าไม่กำหนด Type และเมื่อมีการแยกตารางออกเพื่อให้มี Front End และ Back End จะทำให้เกิด Error ได้ - ควรกำหนด Type เป็นแบบ Dynaset จะครอบคลุมได้ทุกกรณี - dbOpenTable มี Seek method ที่ทำงานได้เร็วมาก แต่จะใช้กับ SQL Statement ไม่ได้ - ถ้าต้องการความเร็ว และไม่ต้องการแก้ไขข้อมูล ให้กำหนด Type เป็น dbOpenSnapshot ตัวอย่าง