title image


Smiley Re: Tabellen im Backend automatisch per VBA verknüpfen
Hi,



wenn es immer die gleichen Tabellen sind und Du nur eine Art "Drehkreuz" haben willst, das die Tabellen mal aus Backend A, mal aus Backend B zieht, dann schau Dir mal meinen Weg an.





If MsgBox("Sie haben zuletzt auf den Datenpool des Jahres " & GetVersionJahr() & " zugegriffen. " _

& "Möchten Sie dieses Jahr weiter nutzen?", vbYesNo, "Wahl des Backend-Jahres") = vbNo Then



Do

intJahr = InputBox("Welches Jahr möchten Sie bearbeiten? (JJJJ)", "Backend-Jahr festlegen")

Loop While intJahr = "" Or Not IsNumeric(intJahr)



If Dir("\\server\daten\daten_" & intJahr & " Backend.mdb") = "" Then

MsgBox "Für das Jahr " & intJahr & " ist keine gültiges Backend vorhanden! Die DB nutzt dasselbe Jahr wie beim letzen Start!", vbInformation, "Kein Backend vorhanden!"

Else

intAnzahlTabellen = CurrentDb.TableDefs.Count

intAktuelleTabelleNr = 1

For Each tbl In CurrentDb.TableDefs

Echo True, "Back-End-Umschaltung zu " & Format(intAktuelleTabelleNr / intAnzahlTabellen, "0%") & " fertig... verarbeite gerade " & tbl.Name

If tbl.Connect Like ";DATABASE=*daten_???? Backend*" Then

'Tabelle aus dem Backend

tbl.Connect = ";DATABASE=\\server\daten_" & intJahr & " Backend.mdb"

tbl.RefreshLink

Else

'keine Tabelle aus dem Backend; nix zu tun

End If

intAktuelleTabelleNr = intAktuelleTabelleNr + 1

Next tbl

CurrentDb.TableDefs.Refresh

End If

Else

'Jahr beibehalten: Backend bleibt erhalten. Nix zu tun.

End If





GetversionJahr ist dabei eine kleine Funz, die das Jahr des aktuellen backend anzeigt, damit man nur umschaltet, wenn es nötig ist.







HTH

Martin
Atrus2711 ät gmx punkt net
Meine Beiträge zu MS Office betreffen stets Version 2000,
wenn nicht anders angegeben.




geschrieben von


Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: