title image


Smiley Tabellenverknüpfungsaktualisierung funzt nur teilweise
Hallo, ich nutze Code beim Programmstart zur Aktualisierung der Tabellenverknüpfungen für meine Zentraldatenbank. Die Zentraldatenbank enthält 18 verknüpfte Tabellen, jeweils 3 stammen aus einem Standort, -> 3 Tabellen mal 6 Standorte macht 18 verknüpfte Tabellen, klar.

Die Tabellen in den Quelltabellen heissen gleich, nämlich Projekt, Auftrag und Sonstiges. In der Zentraltabelle gibt es dann die 18 Tabellen Projekt_Standort1, Projekt_Standort2... usw. bis Sonstiges_Standort6.

Dies ist der Code:



Private Sub Form_Open(Cancel As Integer)

Dim db As Database

Dim Daten As String, Daten2 As String, daten3 As String, daten4 As String, daten5 As String, daten6 As String

Dim i As Integer



On Error GoTo FehlerMeldung



Set db = CurrentDb()



Daten = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & "Standort1_WoBe.mdb"



For i = 0 To db.TableDefs.Count - 1

If db.TableDefs(i).Connect "" Then

If Mid(db.TableDefs(i).Connect, 11) Daten Then

db.TableDefs(i).Connect = ";database=" & Daten

db.TableDefs(i).RefreshLink

End If

End If

Next i



Daten2 = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & "Standort2_WoBe.mdb"



For i = 0 To db.TableDefs.Count - 1

If db.TableDefs(i).Connect "" Then

If Mid(db.TableDefs(i).Connect, 11) Daten Then

db.TableDefs(i).Connect = ";database=" & Daten2

db.TableDefs(i).RefreshLink

End If

End If

Next i



daten3 = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & "Standort3_WoBe.mdb"



For i = 0 To db.TableDefs.Count - 1

If db.TableDefs(i).Connect "" Then

If Mid(db.TableDefs(i).Connect, 11) Daten Then

db.TableDefs(i).Connect = ";database=" & daten3

db.TableDefs(i).RefreshLink

End If

End If

Next i



daten4 = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & "Standort4_WoBe.mdb"



For i = 0 To db.TableDefs.Count - 1

If db.TableDefs(i).Connect "" Then

If Mid(db.TableDefs(i).Connect, 11) Daten Then

db.TableDefs(i).Connect = ";database=" & daten4

db.TableDefs(i).RefreshLink

End If

End If

Next i

daten5 = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & "Standort5_WoBe.mdb"



For i = 0 To db.TableDefs.Count - 1

If db.TableDefs(i).Connect "" Then

If Mid(db.TableDefs(i).Connect, 11) Daten Then

db.TableDefs(i).Connect = ";database=" & daten5

db.TableDefs(i).RefreshLink

End If

End If

Next i



daten6 = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & "Standort6_WoBe.mdb"



For i = 0 To db.TableDefs.Count - 1

If db.TableDefs(i).Connect "" Then

If Mid(db.TableDefs(i).Connect, 11) Daten Then

db.TableDefs(i).Connect = ";database=" & daten6

db.TableDefs(i).RefreshLink

End If

End If

Next i

Exit Sub



FehlerMeldung:

MsgBox "Bei der Installation ist ein Fehler aufgetreten. ", 16, "FEHLER !"

Exit Sub





End Sub



Und was ist das Ergebnis? Alle Tabellen wurden neu verknüpft - das ist gut. Aber alle 18 Tabellen wurden mit den Quelltabellen aus der Standort1-Datenbank verknüpft. Als ob nur der erste Codeblock für alle Tabellen verwendet wird, alles schön mit Standort1 verknüpft wird und der Rest ignoriert wird. Irgendwie scheint Access die Zuordnung nicht zu verstehen (Access 97). Wie bekomme ich es hin, daß für jeweils 3 Tabellen die Verknüpfungen zu dem entsprechenden Standort hergestellt werden?

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: