Cara membuat kueri VBA di Access daftar tabel dalam database
Dapatkan daftar tabel
Langkah 1
Buat kueri untuk menjalankan perintah SQL yang ditunjukkan di bawah ini. Kueri ini memperoleh daftar semua tabel dalam database Access saat ini. Pernyataan di mana menggunakan angka 1 untuk menunjukkan bahwa kita hanya ingin tabel muncul.
PILIH MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags DARI MSysObjects WHERE MSysObjects.Type = 1
Langkah 2
Dapatkan daftar yang hanya memiliki tabel dalam database yang tidak berasal dari sistem, dengan contoh yang diberikan di bawah ini:
PILIH MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags DARI MSysObjects WHERE MSysObjects.Type = 1 DAN MSysObjects.Name Tidak Suka 'MSys'
Langkah 3
Dapatkan daftar yang berisi hanya tabel yang tidak disembunyikan dalam database dengan mengeksekusi kueri berikut:
PILIH MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags DARI MSysObjects WHERE MSysObjects.Type = 1 DAN MSysObjects.Flags 8
Langkah 4
Urutkan daftar tabel non-sistem yang tidak tersembunyi menggunakan kode SQL berikut:
PILIH MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags DARI MSysObjects WHERE MSysObjects.Type = 1 DAN MSysObjects.Flags 8 DAN MSysObjects.Name Tidak Suka 'MSys *' ORDER BY MSysObjects.Name
Gunakan daftar tabel di VBA
Langkah 1
Muat daftar tabel Anda ke dalam objek set record menggunakan kode VBA yang ditunjukkan di bawah ini:
Dim rsMisTablas Sebagai DAO.Recordset Atur rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta')
Langkah 2
Gulir melalui siklus melalui setiap catatan yang diperoleh dalam kueri.
Dim rsMisTablas Sebagai DAO.Recordset Atur rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta')
Do While Not rsMisTablas.EOF 'Kode untuk memanipulasi informasi
rsMisTablas.MoveNext Loop
Langkah 3
Tambahkan nama setiap tabel ke daftar tarik-turun yang memodifikasi siklus saat Anda:
Dim rsMisTablas Sebagai DAO.Recordset Atur rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta') Me.cmbMiComboBox.Clear
Do While Not rsMisTablas.EOF Me.cmbMiComboBox.AddItem rsMisTablas! [Nama]
rsMisTablas.MoveNext Loop
Langkah 4
Tutup objek set rekaman Anda untuk melepaskan memori yang Anda gunakan:
Dim rsMisTablas Sebagai DAO.Recordset Atur rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta') Me.cmbMiComboBox.Clear
Do While Not rsMisTablas.EOF Me.cmbMiComboBox.AddItem rsMisTablas! [Nama]
rsMisTablas.MoveNext Loop
rsMisTablas.Close Set rsMisTablas = Tidak ada