Mark Boerkamp
Gebruiker
- Lid geworden
- 13 mrt 2010
- Berichten
- 70
Hallo,
Ik heb een backend op een Sql Server, middels ODBC worden de tabellen gekoppeld en de primary key gekozen, ik wil dit graag automatisch laten plaatsvinden.
Nou heb ik een paar stukjes code samengevoegd en daarmee lukt het om de bestaande gekoppelde tabel "Connectie_Test" met PK "primary_key" te verwijderen en opnieuw te koppelen, dus met 1 tabel lukt het inclusief PK.
(het stukje code verwijderd alle gekoppelde tabellen dat is dus al goed, het koppelt alleen maar 1 tabel)
Probleem waar ik tegenaan loop is dat het niet om 1 tabel gaat, wat ik graag zou willen is dat ik een tabel vul met alle gekoppelde tabel namen en bijbehorende primary key's, deze kunnen dan worden verneiuwd op elk gewenst moment
Is dit mogelijk of zijn er betere oplossingen, en hoe zet ik dit op ?
Alvast bedankt voor je reactie,
Groet, Mark
Ik heb een backend op een Sql Server, middels ODBC worden de tabellen gekoppeld en de primary key gekozen, ik wil dit graag automatisch laten plaatsvinden.
Nou heb ik een paar stukjes code samengevoegd en daarmee lukt het om de bestaande gekoppelde tabel "Connectie_Test" met PK "primary_key" te verwijderen en opnieuw te koppelen, dus met 1 tabel lukt het inclusief PK.
(het stukje code verwijderd alle gekoppelde tabellen dat is dus al goed, het koppelt alleen maar 1 tabel)
Code:
Sub BuildTableLink()
Dim db As Database
Dim tdf As TableDef
Dim strDSNName As String
Dim strTableName As String
Dim strDDL As String
Dim strFieldName As String
'verwijder tabellen verbinding gemaakt met ODBC
StartAgain:
For Each tdf In CurrentDb.TableDefs
If InStr(1, tdf.Connect, "ODBC") > 0 Then
DoCmd.DeleteObject acTable, tdf.Name
GoTo StartAgain
End If
Next tdf
Set tdf = Nothing
'verbinding opnieuw maken
Set db = CurrentDb
strTableName = "Connectie_Test"
strFieldName = "Primary_Key"
Set tdf = db.CreateTableDef(strTableName)
tdf.Connect = "ODBC;DSN=CCv1.0;;TABLE=" & strTableName & ""
tdf.SourceTableName = "Connectie_Test"
db.TableDefs.Append tdf
strDDL = "CREATE UNIQUE INDEX _uniqueindex ON " & _
strTableName & " (" & strFieldName & ")" & _
"WITH PRIMARY;"
db.Execute strDDL
End Sub
Probleem waar ik tegenaan loop is dat het niet om 1 tabel gaat, wat ik graag zou willen is dat ik een tabel vul met alle gekoppelde tabel namen en bijbehorende primary key's, deze kunnen dan worden verneiuwd op elk gewenst moment
Is dit mogelijk of zijn er betere oplossingen, en hoe zet ik dit op ?
Alvast bedankt voor je reactie,
Groet, Mark