Ich möchte aus mehreren vorhandenen Tabellen die Anzahl der Spalten auslesen und in einem Listenfeld anzeigen.
Mit der Tabelle MSysObjects (Systemtabelle) habe ich eine Abfrage erstellt, bei der ich den Tabellennamen und das DateCreate-Feld auslese und dem o.g. Listenfeld zuspiele.
Nur die Anzahl der Spalten pro Tabelle fehlt mir noch!
Probier mal die Tabledefs-Auflistung, such die betreffende Tabelle aus, dann findest Du dort die Fields-Auflistung (heißt sie so? Oder Columns? Lange her…), die Eigenschaft Count sagt Dir, wieviele es sind.
Außer Spaltenanzahl läßt sich natürlich noch jeder andere Krams
ermitteln (Anzahl Sätze etc…). Den Abfragenamen mußt Du gegen Deine Abfrage austauschen, sonst kann alles bleiben.
Gruß
Stephan
Private Sub Befehl1_Click()
Dim db As Database
Dim rs As Recordset
Dim rs2 As Recordset
Dim tblName As String
Dim anzahl As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset(„qryTBLermitteln“)
'in Deine Query auf die MSysObjects ersetzen
rs.MoveFirst
Do While Not rs.EOF
tblName = rs.Fields(„Name“)
Set rs2 = db.OpenRecordset(tblName)
anzahl = rs2.Fields.Count
Debug.Print anzahl
'Hier machst Du dann irgendwas mit „anzahl“ -
'anzahl ist an dieser Stelle nach und nach
'die Spaltenanzahl jeder vorhandenen Tabelle der DB
rs.MoveNext
Loop
MsgBox „Es hat gefunzt!“