Access-o-Mania

Datenbanken (Deutsch/German) => MS SQL-Server => Thema gestartet von: MartinHan am August 14, 2024, 13:33:30

Titel: Connect einer neuen Tabelle
Beitrag von: MartinHan am August 14, 2024, 13:33:30
Hallo,

ich betreibe ein Access FE und eine SQLDB als BE.
Das läuft soweit ganz gut.
Jetzt habe ich einige neue Sichten auf dem Server instaliert, die ich aber  im FE ansprechen will.

Ich stelle eine Connection zum Server her, verbinden dann die einzelnen Tabellen, funktioniert.

Mit diesem Code wollte ich jetzt eine Sicht im FE bekannt machen, bei Append bekomme ich einen Laufzeitfehler 3170.

Public Sub connect_single(tabelle As String, database As String)

Dim db As database
Dim tdf As TableDef
Dim connstr As String

Set db = CurrentDb
Set tdf = db.CreateTableDef(tabelle)
tdf.SourceTableName = "dbo." & tabelle
connstr = "DRIVER=ODBC Driver 17 for SQL Server;SERVER=xxxx.xxxx.xxxx.xx\SQLEXPRESS; " _
                  & "UID=" & Forms![Start menue]!user & ";PWD=" & Forms![Start menue]!passwort _
                  & ";Trusted_Connection=No;APP=Microsoft Office;DATABASE=" & database & ";"
tdf.Connect = connstr
db.TableDefs.Append tdf

db.Close

End Sub
Titel: Re: Connect einer neuen Tabelle
Beitrag von: PhilS am August 14, 2024, 15:43:10
Dein Connection-String ist nicht korrekt. Der muss zwingend mit dem Präfix "ODBC;" anfangen.
Titel: Re: Connect einer neuen Tabelle
Beitrag von: MartinHan am August 14, 2024, 16:07:52
Ich danke dir, es läuft.

Aber so richtig verstehen tue ich es noch nicht. Mit dem gleichen String habe ich die anderen Tabellen auch verknüpft, da hat Access "ODBC"von sich aus ergänzt, es steht auch in allen Tabellen davor, wenn ich mit der Maus drüber fahre, obwohl ich es nicht angegeben habe.

Vielleicht muss man es bei neuen Tabellen ja machen.

Aber noch mal Danke!

Martin