Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Verknüpfung zum Backend per VBA?

219 views
Skip to first unread message

Peter Sander

unread,
Apr 18, 2003, 3:15:48 AM4/18/03
to
Hallo zusammen.

Ich habe schon viel über das aktualisieren von verknüpften Backendtabellen
gelesen und verwendet. Weiss jemand, wie man per VBA eine Tabelle ins
Frontend verknüpft, die vorher nicht drin war?

1. FileDialog aufrufen und Backend aussuchen (is klar)
2. Tabelle XXX verknüpfen (tja wie geht das...)

Kann jemand einen Tip geben?

Danke, und frohe Ostern

Peter Sander


Jürgen Volke

unread,
Apr 18, 2003, 4:35:03 AM4/18/03
to
Hallo Peter

> Ich habe schon viel über das aktualisieren von verknüpften
> Backendtabellen gelesen und verwendet. Weiss jemand, wie man per VBA
> eine Tabelle ins Frontend verknüpft, die vorher nicht drin war?
>
> 1. FileDialog aufrufen und Backend aussuchen (is klar)
> 2. Tabelle XXX verknüpfen (tja wie geht das...)

am einfachsten mit

docmd.TransferDatabase acLink....

oder mit DAO:

set tdf=currentdb.CreateTableDef("DeineTabelle")
with tdf
tdf.connect="DATABASE=DeienDaten.mdb;TABLE=DeineTabelle"
tdf.refreshLink
end with


HTH Jürgen


Karl Donaubauer

unread,
Apr 18, 2003, 12:22:12 PM4/18/03
to
Jürgen Volke schrieb:

Im DAO-Fall wird er SourceTableName und Append
brauchen statt RefreshLink. Also:

Dim db As DAO.Database
Dim tdf As DAO.Tabledef
Set db = Currentdb
set tdf=db.CreateTableDef("DeineTabelle")
with tdf
.connect="DATABASE=DeineDaten.mdb"
.SourceTableName = "ExterneTabelle"
end with
db.TableDefs.Append tdf

--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
Datenbankprofis: http://www.dbdev.org

Peter Sander

unread,
Apr 19, 2003, 1:35:16 AM4/19/03
to
Vielen Dank Jürgen und Karl !!

Werde es sofort ausprobieren.

Schöne Ostern

Peter


"Karl Donaubauer" <ad...@donkarl.com> schrieb im Newsbeitrag
news:b7p8mq$3b2bt$1...@ID-46617.news.dfncis.de...

Peter Sander

unread,
Apr 19, 2003, 2:07:44 AM4/19/03
to
Hallo nochmal.

Mach ich da was falsch? Ich versuche aus der Data2k.MDB eine Tabelle mit
Namen "Zahlungen" in mein Frontend zu verknüpfen. Ich arbeite ohne
Arbeitsgruppe (nur system.mdw) und beide MDB´s liegen auf der gleichen
Platte.

Dim db As DAO.Database
Dim tdf As DAO.TableDef
Set db = CurrentDb
Set tdf = db.CreateTableDef("Zahlungen")
With tdf
.Connect = "DATABASE=E:\Test\Data2k.mdb"
.SourceTableName = "Zahlungen"
End With
db.TableDefs.Append tdf
db.Close

Führt zur Meldung "Lufzeitfehler 3170: Installierbares ISAM nicht gefunden"

Habe Acc2002 unter WinXP. Muss ich noch irgendein Verweis setzen?

Währe Nett wenn da noch mal jemand drauf eingeht :-)

Danke und Gruß

Peter Sander

"Karl Donaubauer" <ad...@donkarl.com> schrieb im Newsbeitrag
news:b7p8mq$3b2bt$1...@ID-46617.news.dfncis.de...

Oskar Punz

unread,
Apr 19, 2003, 2:25:07 AM4/19/03
to
Hallo!

<Peter Sander> schrieb...

> ..


> Führt zur Meldung "Lufzeitfehler 3170: Installierbares ISAM nicht
> gefunden"
>
> Habe Acc2002 unter WinXP. Muss ich noch irgendein Verweis setzen?

Sieh mal in die FAQ 7.10 (www.donkarl.com). Vielleicht hilfts.

mfg

Oskar


Karl Donaubauer

unread,
Apr 19, 2003, 4:02:02 AM4/19/03
to
Peter Sander schrieb:

> Mach ich da was falsch? Ich versuche aus der Data2k.MDB eine Tabelle mit
> Namen "Zahlungen" in mein Frontend zu verknüpfen. Ich arbeite ohne
> Arbeitsgruppe (nur system.mdw) und beide MDB´s liegen auf der gleichen
> Platte.
>
> Dim db As DAO.Database
> Dim tdf As DAO.TableDef
> Set db = CurrentDb
> Set tdf = db.CreateTableDef("Zahlungen")
> With tdf
> .Connect = "DATABASE=E:\Test\Data2k.mdb"
> .SourceTableName = "Zahlungen"
> End With
> db.TableDefs.Append tdf
> db.Close
>
> Führt zur Meldung "Lufzeitfehler 3170: Installierbares ISAM nicht
gefunden"
>...

Sorry, da fehlt(e) noch ein Strichpunkt:


.Connect = ";DATABASE=E:\Test\Data2k.mdb"

--

Karl Donaubauer

unread,
Apr 19, 2003, 4:17:25 AM4/19/03
to
Karl Donaubauer schrieb:

> Peter Sander schrieb:
> > Mach ich da was falsch? Ich versuche aus der Data2k.MDB eine Tabelle mit
> > Namen "Zahlungen" in mein Frontend zu verknüpfen. Ich arbeite ohne
> > Arbeitsgruppe (nur system.mdw) und beide MDB´s liegen auf der gleichen
> > Platte.
> >
> > Dim db As DAO.Database
> > Dim tdf As DAO.TableDef
> > Set db = CurrentDb
> > Set tdf = db.CreateTableDef("Zahlungen")
> > With tdf
> > .Connect = "DATABASE=E:\Test\Data2k.mdb"
> > .SourceTableName = "Zahlungen"
> > End With
> > db.TableDefs.Append tdf
> > db.Close

Weil ich das grad noch sehe:

Das db.Close ist bei Currentdb für'd Würscht d.h. misslingt,
wobei der Fehler von Access großzügig verschluckt wird.
Wenn du aufräumen willst, dann besser:
tdf.Close: Set tdf = Nothing
Set db = Nothing

Beachte auch die von Jürgen erwähnte, einfachere
TransferDatabase-Variante.

Peter Sander

unread,
Apr 19, 2003, 8:11:28 AM4/19/03
to
Doll!

Der Hochstrich war´s. Jetzt läufts. Den Tip vpn Jürgen finde ich auch sehr
sympatisch... werde den Kniff auch noch testen.

Danke Karl
Danke Jürgen
Danke Oskar

Was würde ich ohne euch machen...:-)

Jetz abba schöne Ostern.

Gruß

Peter Sander

"Karl Donaubauer" <ad...@donkarl.com> schrieb im Newsbeitrag

news:b7r0m7$3lh1b$1...@ID-46617.news.dfncis.de...

0 new messages