Hallo!
Ich möchte mir eine Anwendung schreiben (in VisualBasic oder …), die mir sagt, welche Tabellennamen (und Felder) in einer MDB-Datei existieren - nach Möglichkeit ohne Access zu starten. Hat da jemand eine Idee?
Da du scheinbar die Hilfe nicht lesen kannst:
Private Sub Command1\_Click()
Dim DB As Database
Set DB = DBEngine(0).OpenDatabase("Meine.mdb")
For Each Tb In DB.TableDefs
Text1 = Text1 & vbCrLf & Tb.Name
Next Tb
End Sub
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Private Sub Command1_Click()
Dim DB As Database
Set DB =
DBEngine(0).OpenDatabase(„Meine.mdb“)
For Each Tb In DB.TableDefs
Text1 = Text1 & vbCrLf & Tb.Name
Next Tb
End Sub
Vielen Dank für Deine Mühen, allerdings bekomme ich in der Zeile „Dim DB As Database“ immer einen „Fehler beim Kompilieren: Benutzerdefinierter Typ nicht definiert“ - ich vermute also mal, daß VisualBasic 5 den Typ „Database“ nicht kennt.
Muß ich noch irgendwie eine Bibliothek einbinden, oder wie realisiere ich das?
Muß ich noch irgendwie eine Bibliothek
einbinden, oder wie realisiere ich das?
Ja, genau: Wie ich in meiner Message unter „Programmierung“ schon schrieb: Du musst die entsprechende DAO-Objektbibliothek einbinden. (Welche, hängt davon ab, auf welche Access-Versionen du zugreifen willst DAO 2.0/2.5 entspricht Access 2.0, DAO 3.0 entspricht Access 95, DAO 3.5, 3.51 Access 97 und DAO 3.6 Access 2000 …)
Alles klar?
Reinhard
Ich will ja nicht nerven, aber das Problem ist u.a., daß ich die MDB-Datei bekomme, ohne zu wissen, ob es sich um Access 2.0, 95, 97 oder schon 2000 handelt.
Ich will ja nicht nerven, aber das
Problem ist u.a., daß ich die MDB-Datei
bekomme, ohne zu wissen, ob es sich um
Access 2.0, 95, 97 oder schon 2000
handelt.
Dann würde ich es mit der Objektbibliothek mit der höchsten Versionsnummer versuchen. Die Datenbankzugriffe sollten rückwärtskompatibel sein. Ggf. musst du auch noch die entsprechenden „Compatibility Libraries“ (2.5/3.0, 2.5/3.5) mitladen.
Reinhard
Danke erstmal
… ich werde´s mal probieren und gucken, wie weit ich komme.