Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Alle Tabellennamen in einem Listenfeld anzeigen





Frage

Hallo zusammen, ich bin gerade auf ein Problem gestossen zu den ich immer noch keine lösung gefunden habe aber vielleicht könnt ihr mir ja weiterhelfen. Ein ListenFeld soll mit allen Tabellennamen meiner Datenbank gefüllt werden. Dies soll natürlich automatisch erfolgen, also ich meine damit ich will nicht jeden neuen Tabellennamen in eine Tabelle schreiben. Gibt es irgendeine Funnktion die mir die Tabellennamen liefert ?? Besten Dank im Vorraus. MFG JOCHEN

Antwort 1 von MickK

Hallo Jochen,

an die Tabelleninformationen kommt man über die tabledefs. Hier ein Beispiel, das ein Listenfeld (Liste0) beim Anzeigen des Formulars füllt:

Private Sub Form_Current()
    Dim Db As Database
    Dim Tabelle As TableDef
    Dim strWerte As String
    Dim i As Integer

    '-- rowsourcetype des listenfeldes auf werteliste
    Me.Liste0.RowSourceType = "Value List"
    
    Set Db = CurrentDb()
    strWerte = ""
    
    '-- tabledef duchnudeln
    For i = 0 To (Db.TableDefs.Count - 1)
        '-- tabellennamen in string schaufeln
        '-- ohne interne systemtabellen
        If UCase(Left$(Db.TableDefs(i).Name, 4)) = "MSYS" Then
        Else
            strWerte = strWerte & Db.TableDefs(i).Name & ";"
        End If
    Next i

    '-- wenn gefüllt dann zuweisen
    If Len(strWerte) > 0 Then
        Me.Liste0.RowSource = strWerte
    End If
End Sub


Gruss
Mick