Bagaimana untuk mendapatkan akses dalam pertanyaan VBA untuk menyenaraikan jadual dalam pangkalan data

Pengarang: Robert Simon
Tarikh Penciptaan: 15 Jun 2021
Tarikh Kemas Kini: 1 Julai 2024
Anonim
πŒπˆπ‚π‘πŽπ’πŽπ…π“ 𝐀𝐂𝐂𝐄𝐒𝐒: π’π“πŽπ‚πŠ πŒπŽππˆπ“πŽπ‘πˆππ† π’π˜π’π“π„πŒ|𝐒𝐓𝐄𝐏 𝐁𝐘 𝐒𝐓𝐄𝐏 π“π”π“πŽπ‘πˆπ€π‹ 𝐏𝐀𝐑𝐓 𝟏
Video.: πŒπˆπ‚π‘πŽπ’πŽπ…π“ 𝐀𝐂𝐂𝐄𝐒𝐒: π’π“πŽπ‚πŠ πŒπŽππˆπ“πŽπ‘πˆππ† π’π˜π’π“π„πŒ|𝐒𝐓𝐄𝐏 𝐁𝐘 𝐒𝐓𝐄𝐏 π“π”π“πŽπ‘πˆπ€π‹ 𝐏𝐀𝐑𝐓 𝟏

Kandungan

Microsoft Access adalah sistem pengurusan pangkalan data yang membolehkan pengguna membuat pangkalan data, laporan, dan bentuk mereka sendiri. Akses mengandungi semua blok bangunan untuk pembangunan aplikasi kecil. Anda boleh membuat jadual data, prosedur, fungsi dan makro tersimpan, serta borang dan laporan. Semua komponen ini mempunyai petunjuk sendiri atau definisi rekod yang disimpan dalam jadual sistem tersembunyi. Akses menyimpan rekod setiap jadual, laporan, borang, dll. yang anda buat dan juga menyimpan data seperti tarikh ia dicipta atau dikemas kini dan bendera sistem.


Arahan

Akses maklumat struktur maklumat pangkalan data dalam jadual MSysObjects (imej simpanan data oleh Kir dari Fotolia.com)

    Mendapatkan senarai jadual

  1. Buat pertanyaan yang menjalankan arahan SQL di bawah. Pertanyaan ini memaparkan senarai semua jadual dalam pangkalan data Akses semasa. Klausa "di mana" yang menggunakan nombor 1, menunjukkan bahawa kami hanya mahu jadual yang dipetik.

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FROM MSysObjects WHERE MSysObjects.Type = 1

  2. Pulangkan pertanyaan meja yang tidak sistematik dalam pangkalan data, dengan contoh di bawah:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FROM MSysObjects WHERE MSysObjects.Type = 1 AND MSysObjects.Name Not Like "MSys *";


  3. Masukkan senarai jadual pangkalan data tersembunyi dengan menjalankan pertanyaan di bawah:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FROM MSysObjects WHERE MSysObjects.Type = 1 AND MSysObjects.Flags <> 8

  4. Isih senarai jadual yang tidak tersembunyi dan tidak sistematik menggunakan kod SQL berikut:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FROM MSysObjects WHERE MSysObjects.Type = 1 AND MSysObjects.Flags <> 8 AND MSysObjects.Name Not Like "MSys"; ORDER BY MSysObjects.Name

    Gunakan senarai jadual di VBA

  1. Muatkan senarai jadual anda ke dalam objek rekod, menggunakan kod VBA di bawah:

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

  2. Tatal melalui setiap rekod pertanyaan yang lengkap.


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

    Lakukan Walaupun Tidak rsMyTables.EOF 'Kod untuk memanipulasi data

    rsMyTables.MoveNext Loop

  3. Tambah nama untuk setiap jadual untuk senarai dengan mengubah suai gelungnya:

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

    Lakukan Walaupun Tidak rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Nama]

    rsMyTables.MoveNext Loop

  4. Tutup objek pendaftaran untuk membebaskan memori yang digunakan:

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

    Lakukan Walaupun Tidak rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Nama]

    rsMyTables.MoveNext Loop

    rsMyTables.Close Set rsMyTables = Tiada apa-apa

Bagaimana

  • Makro yang dibuat dalam Visual Basic for Applications (VBA), yang merupakan bahasa pengaturcaraan Microsoft Office Standard.
  • Anda boleh menyenaraikan sebarang objek dalam Akses dengan menukar penapis "MSysObject.Type". Pilihan untuk nilai ini disenaraikan di bawah:
  • Jadual = 1
  • Pertanyaan = 5
  • Jadual Berkaitan = 4, 6, atau 8
  • Borang = -32768
  • Laporan = -32764
  • Modul = -32761