เนื้อหา
Microsoft Access เป็นระบบการจัดการฐานข้อมูลที่อนุญาตให้ผู้ใช้สร้างฐานข้อมูลรายงานและแบบฟอร์มของตนเอง Access ประกอบด้วย Building Block ทั้งหมดสำหรับการพัฒนาแอปพลิเคชันขนาดเล็ก คุณสามารถสร้างตารางข้อมูลโพรซีเดอร์ที่เก็บไว้ฟังก์ชันและแมโครรวมถึงฟอร์มและรายงาน ส่วนประกอบเหล่านี้ทั้งหมดมีพอยน์เตอร์หรือบันทึกคำจำกัดความของตัวเองเก็บไว้ในตารางระบบที่ซ่อนอยู่ Access เก็บบันทึกของแต่ละตารางรายงานรูปแบบและอื่น ๆ ซึ่งคุณสร้างและเก็บข้อมูลเช่นวันที่สร้างหรืออัปเดตและแฟล็กระบบ
คำสั่ง
Access เก็บข้อมูลโครงสร้างฐานข้อมูลในตาราง MSysObjects (อิมเมจสำหรับจัดเก็บข้อมูลโดย Kir จาก Fotolia.com)-
สร้างแบบสอบถามที่เรียกใช้คำสั่ง SQL ด้านล่าง แบบสอบถามนี้แสดงรายการของตารางทั้งหมดในฐานข้อมูล Access ปัจจุบัน ประโยค "where" ที่ใช้หมายเลข 1 ทำหน้าที่ระบุว่าเราต้องการตารางที่ยกมา
เลือก MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags จาก MSysObjects.Type = 1
-
ส่งคืนเคียวรีตารางที่ไม่มีระบบในฐานข้อมูลโดยมีตัวอย่างด้านล่าง:
เลือก MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags จาก MSysObjects.Type = 1 และ MSysObjects.Name
-
ป้อนรายการของตารางฐานข้อมูลที่ซ่อนอยู่โดยเรียกใช้แบบสอบถามด้านล่าง:
เลือก MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags จาก MSysObjects.Type = 1 และ MSysObjects.Flags <> 8
-
เรียงลำดับรายการของตารางที่ไม่เป็นระบบและไม่เป็นระบบโดยใช้รหัส SQL ต่อไปนี้:
เลือก MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags จาก MSysObjects.Type = 1 และ MSysObjects.Flags <> 8 และ MSysObjects.Flags <> 8 และ MSysObjects.Flags <> 8 และ MSysObjects.Flags <> 8 และ MSysObjects.Flags <> 8 และ MSysObjects.Flags <> 8 และ MSysObjects.Flags สั่งซื้อโดย MSysObjects.Name
รับรายการของตาราง
-
โหลดรายการตารางของคุณลงในวัตถุบันทึกโดยใช้รหัส VBA ด้านล่าง:
Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")
-
เลื่อนดูแต่ละระเบียนของแบบสอบถามที่เสร็จสมบูรณ์
Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")
ทำในขณะที่ไม่ rsMyTables.EOF 'รหัสเพื่อจัดการข้อมูล
rsMyTables.MoveNext Loop
-
เพิ่มชื่อให้กับแต่ละตารางสำหรับรายการโดยการแก้ไขลูป:
Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear
ทำในขณะที่ไม่ rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [ชื่อ]
rsMyTables.MoveNext Loop
-
ปิดวัตถุรีจิสตรีของคุณเพื่อเพิ่มหน่วยความจำที่ใช้งานอยู่:
Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear
ทำในขณะที่ไม่ rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [ชื่อ]
rsMyTables.MoveNext Loop
rsMyTables.Close Set rsMyTables = ไม่มีอะไร
ใช้รายการตารางใน VBA
เคล็ดลับ
- แมโครที่ทำใน Visual Basic สำหรับ Applications (VBA) ซึ่งเป็นภาษาการเขียนโปรแกรม Microsoft Office Standard
- คุณสามารถแสดงรายการวัตถุใด ๆ ใน Access ได้โดยเปลี่ยนฟิลเตอร์ "MSysObject.Type" ตัวเลือกสำหรับค่านี้มีการระบุไว้ด้านล่าง:
- ตาราง = 1
- Query = 5
- ตารางที่เชื่อมโยง = 4, 6 หรือ 8
- แบบฟอร์ม = -32768
- รายงาน = -32764
- โมดูล = -32761