Tabelle aus einer anderen Accessdatenbank anzeigen

Hallo,

ich habe eine recht umfangreiche Anwendung, die aufgeteilt ist in Formulare und Tabellen (Back/Frontend). Bis zum letzten Wochenende funktionierte auch als gut, bis ich auf die geniale Idee kam, nun alles etwas mehr zu entschlacken, und meine Tabellen in mehrere Accessdatenbanken auszulagern ( weil die Menge der Daten steigt und einige Tabellen werden nur zu Archivzwecken benötigt.)

Soweit kein Problem.

Nun stellte ich jedoch fest, dass ich wider Erwarten folgenden Fall programmiertechnisch nicht abbilden kann.

Es gibt ausgelagerte mehrere Accesstabellen (Archiv), die in den Formularen nicht verknüpft sind, aber auf die ich in der Tabellenansicht zugreifen will.

Meine Frage ist, wie öffne ich eine Tabelle in der Tabellenansicht, wenn diese Tabelle in einer externen Accessdatenbank liegt.

Soweit bin ich bis jetzt:

Dim db As Database
Dim wsp As Workspace
Dim pfad, namedb, nametabelle

pfad = „F:\work\abc\belegdaten\mdb“
namedb = „Belegdaten-“ & Right$(Me.Datum, 4) & „-“ & Mid$(Me.Datum, 4, 2) & „-“ & Mid$(Me.Datum, 1, 2) & „.mdb“
nametabelle = „Belegdaten“ & Mid$(Me.Datum, 1, 2) & Mid$(Me.Datum, 4, 2) & Right$(Me.Datum, 4)
Set wsp = DBEngine.Workspaces(0)
Set db = wsp.OpenDatabase(pfad & namedb)

'docmd.OpenTable nametabelle

Früher reichte nur (weil die Tabelle verknüpft war) 'docmd.OpenTable nametabelle, nun wie geht es jetzt weiter, soweit ich sehen kann „sieht“ Access die fremde Datenquelle, aber wie kriege ich die Anzeige der Tabelle hin.

Danke für Euere Bemühungen

Peter

Hallo, Peter!

Früher reichte nur (weil die Tabelle verknüpft war)
'docmd.OpenTable nametabelle, nun wie geht es jetzt weiter,
soweit ich sehen kann „sieht“ Access die fremde Datenquelle,
aber wie kriege ich die Anzeige der Tabelle hin.

Gar nicht. Entweder Du verknüpfst die Tabelle (kannst Du ja machen, kostet doch nichts. Kannst die Verknüpfung ja wieder löschen, wenn Du sie nicht mehr brauchst.), oder Du programmierst Dir die Tabellenanzeige basierend auf dem temporären Tabellenobjekt in der anderen Datenbank selbst. Das halte ich aber für weniger clever…

Also einfach (z. B. mit DoCmd.TrasferDatabase …acLink) die Tabelle ggf. nur tempoträr verknüpfen, dann Dein DoCmd.OpenTable und irgendwann wieder DoCmd.DeleteObject acTable…, wenn Du sie nicht mehr brauchst.

Gruß, Manfred

Hallo Manfred,

danke für den Hinweis, er hat geholfen. Docmd.tranferdatabase

Peter