Problem bei Verknüpfung von Tabellen in FrontEnd

02/06/2010 - 15:14 von Michael Alexander | Report spam
Hallo!

Ich überprüfe beim Öffnen eines Frontends ob die Tabellen im Backend
gefunden werden und verknüpfe sie.
Das funktioniert, solange ich nur tbls eines Access-MDB-Backends verknüpfe.

Nunmehr habe ich ich ins Frontend (manuell) zu den tbls aus einer Access-MDB
auch tbls eines SQL-Servers via ODBC eingebunden.

Da funktioniert meine fnc nicht mehr, bzw. verlangt einen manuellen
Eingriff.

Das Codeschnipsel sieht so aus:

DoEvents
If DB.Containers(i).Name = "Tables" Then *)
AnzTab = DB.Containers(i).Documents.Count
DoEvents
' TO DO: Turn normal error handler on when this condition is finished.
On Error Resume Next
'der Pfad der ersten Tabelle (Index 0!) wird festgestellt
Con$ = DB.TableDefs(0).Connect
If Con$ <> "" Then
DBPath$ = Mid$(Con$, InStr(Con$, "=") + 1)
strDB = DBPath$
If Dir$(DBPath$) = "" Then

Meine Idee wàre nunmehr, *) hier die tbls des SQL-Servers zu überspringen,
weil ich beim manuellen einbinden die Verbindungsinfo samt PW gespeichert
habe.

Aber wie unterscheidet man die tbls??

In MySysObjects sehe ich, dass die tbls des SQL-Servers den Type 4 haben,
wàhrend die verknüpften tbls der MDB den Type 6 haben.

Kann man damit einen "Filter" basteln? Aber wie?

Kurzum, ich bràuchte eine Unterscheidungsmöglichkeit zwischen den Arten von
Tabellen, um nur die MDB tbls verknüpfen zu lassen.

Danke für Eure Hilfe

Gruß
Michael

A2k SP3
 

Lesen sie die antworten

#1 Peter Doering
02/06/2010 - 15:54 | Warnen spam
Hallo,

Michael Alexander wrote:

Ich überprüfe beim Öffnen eines Frontends ob die Tabellen im Backend
gefunden werden und verknüpfe sie.
Das funktioniert, solange ich nur tbls eines Access-MDB-Backends verknüpfe.

Nunmehr habe ich ich ins Frontend (manuell) zu den tbls aus einer Access-MDB
auch tbls eines SQL-Servers via ODBC eingebunden.

Da funktioniert meine fnc nicht mehr, bzw. verlangt einen manuellen
Eingriff.

Das Codeschnipsel sieht so aus:

DoEvents
If DB.Containers(i).Name = "Tables" Then *)
AnzTab = DB.Containers(i).Documents.Count
DoEvents
' TO DO: Turn normal error handler on when this condition is finished.
On Error Resume Next
'der Pfad der ersten Tabelle (Index 0!) wird festgestellt
Con$ = DB.TableDefs(0).Connect
If Con$ <> "" Then
DBPath$ = Mid$(Con$, InStr(Con$, "=") + 1)
strDB = DBPath$
If Dir$(DBPath$) = "" Then

Meine Idee wàre nunmehr, *) hier die tbls des SQL-Servers zu überspringen,
weil ich beim manuellen einbinden die Verbindungsinfo samt PW gespeichert
habe.

Aber wie unterscheidet man die tbls??



If Left(Con$, 5)="ODBC;" Then 'kein Access-BE

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen