วิธีรับการเข้าถึงในเคียวรี VBA เพื่อแสดงรายการตารางในฐานข้อมูล

ผู้เขียน: Robert Simon
วันที่สร้าง: 19 มิถุนายน 2021
วันที่อัปเดต: 7 มกราคม 2025
Anonim
Convert Query SQL to VBA Code in Microsoft Access. Add Line Breaks, Quotes, vbNewLine, and More.
วิดีโอ: Convert Query SQL to VBA Code in Microsoft Access. Add Line Breaks, Quotes, vbNewLine, and More.

เนื้อหา

Microsoft Access เป็นระบบการจัดการฐานข้อมูลที่อนุญาตให้ผู้ใช้สร้างฐานข้อมูลรายงานและแบบฟอร์มของตนเอง Access ประกอบด้วย Building Block ทั้งหมดสำหรับการพัฒนาแอปพลิเคชันขนาดเล็ก คุณสามารถสร้างตารางข้อมูลโพรซีเดอร์ที่เก็บไว้ฟังก์ชันและแมโครรวมถึงฟอร์มและรายงาน ส่วนประกอบเหล่านี้ทั้งหมดมีพอยน์เตอร์หรือบันทึกคำจำกัดความของตัวเองเก็บไว้ในตารางระบบที่ซ่อนอยู่ Access เก็บบันทึกของแต่ละตารางรายงานรูปแบบและอื่น ๆ ซึ่งคุณสร้างและเก็บข้อมูลเช่นวันที่สร้างหรืออัปเดตและแฟล็กระบบ


คำสั่ง

Access เก็บข้อมูลโครงสร้างฐานข้อมูลในตาราง MSysObjects (อิมเมจสำหรับจัดเก็บข้อมูลโดย Kir จาก Fotolia.com)

    รับรายการของตาราง

  1. สร้างแบบสอบถามที่เรียกใช้คำสั่ง SQL ด้านล่าง แบบสอบถามนี้แสดงรายการของตารางทั้งหมดในฐานข้อมูล Access ปัจจุบัน ประโยค "where" ที่ใช้หมายเลข 1 ทำหน้าที่ระบุว่าเราต้องการตารางที่ยกมา

    เลือก MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags จาก MSysObjects.Type = 1

  2. ส่งคืนเคียวรีตารางที่ไม่มีระบบในฐานข้อมูลโดยมีตัวอย่างด้านล่าง:

    เลือก MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags จาก MSysObjects.Type = 1 และ MSysObjects.Name

  3. ป้อนรายการของตารางฐานข้อมูลที่ซ่อนอยู่โดยเรียกใช้แบบสอบถามด้านล่าง:

    เลือก MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags จาก MSysObjects.Type = 1 และ MSysObjects.Flags <> 8


  4. เรียงลำดับรายการของตารางที่ไม่เป็นระบบและไม่เป็นระบบโดยใช้รหัส 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

  1. โหลดรายการตารางของคุณลงในวัตถุบันทึกโดยใช้รหัส VBA ด้านล่าง:

    Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")

  2. เลื่อนดูแต่ละระเบียนของแบบสอบถามที่เสร็จสมบูรณ์

    Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")

    ทำในขณะที่ไม่ rsMyTables.EOF 'รหัสเพื่อจัดการข้อมูล

    rsMyTables.MoveNext Loop

  3. เพิ่มชื่อให้กับแต่ละตารางสำหรับรายการโดยการแก้ไขลูป:


    Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear

    ทำในขณะที่ไม่ rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [ชื่อ]

    rsMyTables.MoveNext Loop

  4. ปิดวัตถุรีจิสตรีของคุณเพื่อเพิ่มหน่วยความจำที่ใช้งานอยู่:

    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 = ไม่มีอะไร

เคล็ดลับ

  • แมโครที่ทำใน Visual Basic สำหรับ Applications (VBA) ซึ่งเป็นภาษาการเขียนโปรแกรม Microsoft Office Standard
  • คุณสามารถแสดงรายการวัตถุใด ๆ ใน Access ได้โดยเปลี่ยนฟิลเตอร์ "MSysObject.Type" ตัวเลือกสำหรับค่านี้มีการระบุไว้ด้านล่าง:
  • ตาราง = 1
  • Query = 5
  • ตารางที่เชื่อมโยง = 4, 6 หรือ 8
  • แบบฟอร์ม = -32768
  • รายงาน = -32764
  • โมดูล = -32761