| 
 New user
 
 Beiträge: 4
 
 
 | Hallo, 
 ich benutze Access2007.
 Ich habe ein Frontend für eine große Anzahl an Benutzern erstellt, welches je nach Benutzergruppe auf verschiedene Backends zugreift.
 Beim Laden eines Anzeigeformulars erstelle ich eine Tabellenverknüpfung zum entsprechenden Backend und nachdem die Daten zur Anzeige kommen, lösche ich die Verknüpfung zur Backend-tabelle wieder.
 Ich möchte erreichen, dass das Backend unmittelbar nach dem Laden der Daten in das Formular wieder freigegeben wird (um es z.B. gegen ein BE mit aktuelleren Daten auszutauschen).
 Bei der von mir verwendeten Methode wird das BE jedoch nicht nach dem Laden der Daten wieder freigegeben, sondern erst nach Schließen des Formulars.
 Das System soll sowohl unter Access als auch Runtime funktionieren.
 Wo steckt der Fehler?
 
 Hier mein verwendetes Script:
 
 Dim nutzergruppe
 nutzergruppe = "1"
 
 'Prüfung, dass Tabelle noch nicht vorhanden ist, ggf. löschen
 If DCount("*", "MsysObjects", "Name = 'Gesamttabelle' and type = 6") > 0 Then
 DoCmd.DeleteObject acTable, "Gesamttabelle"
 End If
 Do Until DCount("*", "MsysObjects", "Name = 'Gesamttabelle' and type = 6") = 0
 Loop
 
 'Verknüpfung als externe Tabelle erstellen
 DoCmd.TransferDatabase acLink, "Microsoft Access", "\\ext_Filer\Freigabe\data_" & nutzergruppe & ".mdb", acTable, "Gesamttabelle_" & nutzergruppe, "Gesamttabelle", False
 
 Do Until DCount("*", "MsysObjects", "Name = 'Gesamttabelle' and type = 6") = 1
 Loop
 
 'Daten für das Formular laden
 Me.RecordSource = "SELECT Feld1, Feld2, Feld3 FROM Gesamttabelle order by Feld1;"
 
 
 'Verknüpfung zur externen Tabelle löschen
 If DCount("*", "MsysObjects", "Name = 'Gesamttabelle' and type = 6") > 0 Then
 DoCmd.DeleteObject acTable, "Gesamttabelle"
 End If
 Do Until DCount("*", "MsysObjects", "Name = 'Gesamttabelle' and type = 6") = 0
 Loop
 
 
 Jörg
 |