Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Connect einer neuen Tabelle

Begonnen von MartinHan, August 14, 2024, 13:33:30

⏪ vorheriges - nächstes ⏩

MartinHan

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
Es gibt nichts gutes, außer, man tut es! EK

PhilS

Dein Connection-String ist nicht korrekt. Der muss zwingend mit dem Präfix "ODBC;" anfangen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

MartinHan

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

Es gibt nichts gutes, außer, man tut es! EK