Access'te bir VBA sorgusu Access veritabanındaki tabloları nasıl yapılır
Tabloların bir listesini al
1. Adım
Aşağıda gösterilen SQL komutunu çalıştırmak için bir sorgu oluşturun. Bu sorgu, geçerli Access veritabanındaki tüm tabloların listesini alır. Burada, yalnızca tabloların görünmesini istediğimizi belirtmek için 1 numaralı rakam kullanılır.
MSysObjects.Name MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags MSysObjects WHERE MSysObjects.Type = 1 SELECT
2. Adım
Aşağıdaki örnekte, yalnızca sistemde olmayan veritabanındaki tabloların bulunduğu bir liste edinin:
MSysObjects.Name MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags MSysObjects WHERE MSysObjects.Type = 1 VE MSysObjects.Name 'MSys' gibi değil SELECT MSESObjects.Name
3. adım
Aşağıdaki sorguyu yürüterek yalnızca veritabanında gizlenmeyen tabloları içeren bir liste edinin:
MSysObjects.Name MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags MSysObjects WHERE MSysObjects.Type = 1 VE MSysObjects.Flags 8 SELECT MSysObjects.Name
4. Adım
Aşağıdaki SQL kodunu kullanarak gizli olmayan sistem dışı tabloların listesini sıralayın:
MSysObjects.Name MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags MSysObjects WHERE MSysObjects.Type = 1 VE MSysObjects.Flags 8 VE MSysObjects.Name gibi değil MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.Name
VBA'daki tabloların listesini kullan
1. Adım
Aşağıda listelenen VBA kodunu kullanarak tablo listenizi bir kayıt kümesi nesnesine yükleyin:
Dim rsMisTablas DAO.Recordset Set olarak rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta')
2. Adım
Sorguda elde edilen her kayıttan bir döngüde ilerleyin.
Dim rsMisTablas DAO.Recordset Set olarak rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta')
RsMisTablas.EOF 'Bilgi işlemek için Kod
rsMisTablas.MoveNext Döngü
3. adım
Her tablonun isimlerini, while döngüsünü değiştiren bir açılır listeye ekleyin:
Dim rsMisTablas DAO.Recordset Set olarak rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta') Me.cmbMiComboBox.Clear
Yaparken değil rsMisTablas.EOF Me.cmbMiComboBox.AddItem rsMisTablas! [İsim]
rsMisTablas.MoveNext Döngü
4. Adım
Kullandığınız belleği bırakmak için kayıt kümesi nesnesini kapatın:
Dim rsMisTablas DAO.Recordset Set olarak rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta') Me.cmbMiComboBox.Clear
Yaparken değil rsMisTablas.EOF Me.cmbMiComboBox.AddItem rsMisTablas! [İsim]
rsMisTablas.MoveNext Döngü
rsMisTablas.Close Set rsMisTablas = Hiçbir şey