RefreshLink-Fehler

11/11/2008 - 12:16 von Lutz Uhlmann | Report spam
Hallo NG!

Habe das BE einer Anwendung in den SQL-Server gelegt.
Dort habe ich verschiedene Schemas in denen teilweise Tabellen mit dem
selben Namen vorkommen.
schXXX.Tabelle1
schYYY.Tabelle1

per Code möchte ich nun aus Access bestimmte Tabellen verlinken.

For Each tdf In dbs.TableDefs
With tdf
If Len(.Connect) > 0 Then
sName = .Name
If left$(sName, 1) = "~" Then
Else
Debug.Print sName
If left$(sName, 41) = "YYY_" Then
sName = Mid(sName, 4)
sSrcTable = "TABLE=mydb.schYYY." & sName & ";"
Else
sSrcTable = "TABLE=mydb.schXXX." & sName & ";"
End If
.Connect = sConnect & sSrcTable
.Attributes = 0
.RefreshLink
End If
End If
End With
Next tdf
Set tdf = Nothing

sConnect ist dabei:
"ODBC;DRIVER={SQL Server};SERVER=SQLDEV;DATABASE=mydb;APP=MyApp;"
sSrcTable bekommt folgenden Wert:
"TABLE=mydb.schXXX.Tabelle123;"

Leider bekomme ich bei RefreshLink dann folgenden Fehler ...
3298 - "Es gibt mehrere Tabellen mit diesem Namen; geben Sie bitte den
Eigentümer im Format 'Eigentümer.Tabelle' an." - "DAO.TableDef"

Nutzer-name und Passwort hinterlege ich nicht mit ihm ConnectionString. Der
Zugriff ist aber über eine bereits bestehende (permanente) ODBC-Verbindung
mit diesem User abgesichert. Dieses Prinzip funktionierte auch schon. Nur
hab ich eben jetzt Probleme mit doppelten Tabellen-Namen.

Der User hat schXXX als Standard-Schema und seine Rolle hatte Rechte auf
beide Schemen (XXX und YYY)
schXXX: Delete, Insert, Select, Update, View definition
schYYY: Select, View definition

Weiß grad nicht weiter, da ich ja mit Datenbank.Schema.Tabelle ja eigentlich
den vollen Pfad zur Tabelle angebe ...

Lutz
 

Lesen sie die antworten

#1 Henry Habermacher
11/11/2008 - 12:41 | Warnen spam
Hallo Lutz

Lutz Uhlmann wrote:
"ODBC;DRIVER={SQL Server};SERVER=SQLDEV;DATABASE=mydb;APP=MyApp;"
sSrcTable bekommt folgenden Wert:
"TABLE=mydb.schXXX.Tabelle123;"



Lass mal mydb. bei TABLE= weg. Du gibst ja vorher an, dass Du die Datenbank
mydb willst. Evt. erkennt der Treiber nicht, dass mydb. ein Schema ist.

Gruss
Henry


Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen