thomas1972
Goto Top

Primärschlüssel per VBA übergeben

Hallo,

ich versuche eine SQL Tabelle per VBa zu verbinden,
soweit so gut,
nur bekomme ich es nicht hin einen Primärschlüssel mit zu übergeben.

Das manuelle verknüpfen funktioniert dagegen ohne probleme.

...
    On Error Resume Next
    Dim strODBC As String
    Dim tdfTable As DAO.TableDef
    
    strODBC = "ODBC;DRIVER=SQL Server;SERVER=xxxxxx;DATABASE=Übersicht;UID=xxx;PWD=xxx"  
    Set tdfTable = CurrentDb. _
    CreateTableDef("Adressen", 0&, "dbo.adressen", strODBC)  
    CurrentDb.TableDefs.Append tdfTable
    CurrentDb.TableDefs.Refresh
    
    strODBC = "ODBC;DRIVER=SQL Server;SERVER=xxxxxx;DATABASE=Übersicht;UID=xxx;PWD=xxx"  
    Set tdfTable = CurrentDb. _
    CreateTableDef("mitarbeiter", 0&, "dbo.mitarbeiter", strODBC)  
    CurrentDb.TableDefs.Append tdfTable
    CurrentDb.TableDefs.Refresh

...

Content-Key: 268030

Url: https://administrator.de/contentid/268030

Printed on: April 23, 2024 at 21:04 o'clock

Mitglied: 114757
Solution 114757 Apr 01, 2015 updated at 13:09:07 (UTC)
Goto Top
Moin,
öhm, du verknüpfst mit deinen Befehlen die Tabellen mit der Datenquelle in Access, da kannst du nicht den Primärschlüssel ändern, der wird ja durch die Tabelle auf dem SQL-Server definiert !
Da müsstest du schon eine neue Abfrage aus beiden Tabellen erstellen ...

Gruß jodel32
Member: thomas1972
thomas1972 Apr 01, 2015 updated at 13:00:06 (UTC)
Goto Top
Hallo Jodel32,

danke für die Rückmeldung.,

habe es mittlerwiele hin bekommen.
Die Frage stellt sich, wie kann ich angeben, dass er das Kennwort übernimmt.?

im Moment verbinde ich meine Tabelle mit

On Error Resume Next
    Dim strODBC As String
    Dim tdfTable As DAO.TableDef
    Dim server, Database1, UID, PWD As String
    
    server = "xxx"  
    Database1 = "xxx"  
    UID = "xxx"  
    PWD = "xx"  
    
    
    strODBC = "ODBC;DRIVER=SQL Server;SERVER=" & server & ";DATABASE=" & Database1 & ";UID=" & UID & ";PWD=" & PWD & ""  
    Set tdfTable13 = CurrentDb.CreateTableDef("Protokoll", 0&, "dbo.Protokoll", strODBC)  
    Set tdfTable26 = CurrentDb.CreateTableDef("PW", 0&, "dbo.PW", strODBC)  
    Set tdfTable28 = CurrentDb.CreateTableDef("Variablen", 0&, "dbo.Variablen", strODBC)  
    CurrentDb.TableDefs.Append tdfTable13
    CurrentDb.TableDefs.Append tdfTable26
    CurrentDb.TableDefs.Append tdfTable28
        
    CurrentDb.TableDefs.Refresh

Wo und wie muss ich den Wert dbAttachSavePWD übergeben?
Member: thomas1972
thomas1972 Apr 01, 2015 at 13:09:40 (UTC)
Goto Top
erledigt...

anstatt 0& -> dbAttachSavePWD