Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Frontend-Backend neu verknüpfen

Begonnen von accessundich, März 14, 2010, 13:03:26

⏪ vorheriges - nächstes ⏩

accessundich

Hallo mal wieder,

vorab, ich bin definitiv kein Freund von Front-End-Backend und die Vorteile sind mir egal. Habe nur Probleme damit und halte das alles für Quatsch, da es nur Zeit und DB-Rumgezicke kostet.

Ich habe leider eine Trennung vorgenommen und mit SHIFT-FrontendDB verhält sich das Frontend genauso wie vorher: Es mosert, dass es die verlinkten Tabellen nicht findet. Dann den wahrlich dämlichen Verknüpfungsmanager gestartet, der außer den gleichen Mist wieder anzuzeigen, nichts tut.

Deshalb zwei Fragen, bevor ich endgültig die Fassung verliere:
Gibt es einen VBA-Code, der automatisch bei fehlender Verknüpfung mir einen Suchdialog anbietet?
Wie führe ich dann wieder das Frontend- und Backend zu einer DB zusammen?

Danke für Tipps, ich suche weiter  >:(

Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.

bahasu

Hallo Andi,

bei mir läuft das Neuverknüpfen mit der folgenden Routine.


Private Sub Neuverknuepfen(beDb As String)
   
    Dim db As Database          ' DAO.Database
    Dim tdf As DAO.TableDef
    Dim i As Integer
       
    Set db = CurrentDb()
    SysCmd acSysCmdInitMeter, "Neuverknüpfen der Daten mit dem Backend...", db.TableDefs.Count

    For i = 0 To db.TableDefs.Count - 1
        Set tdf = db.TableDefs(i)

        If db.TableDefs(i).Connect > "" Then    'Für alle eingebundenen Tabellen
                tdf.Connect = ";DATABASE=" & beDb
                tdf.RefreshLink
        End If
       
        SysCmd acSysCmdUpdateMeter, i
    Next i
   
    SysCmd acSysCmdClearStatus
End Sub


Aufruf mit:   
Call Neuverknuepfen("D:MeinOrdner\MeineDatenbank_be.mdb")

Hilft das?

Harald
Servus

accessundich

Hi Harald,

Danke Dir. Leider nicht.

Ich suche quer übers Netz an Input aber einen gescheiten Filedialog zur Auswahl des Backends will mir mit meiner 2007er-DB nicht gelingen.

Noch jemand eine Idee?

Sollte meine DB je wieder funktionieren, wie vereine ich Front- und Backend wieder? Geht das sicher?

Nie wieder werde ich eine DB aufteilen, was ein Chaos

Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.

DF6GL

Hallo Andi,

warum denn so gefrustet?


"Sollte meine DB je wieder funktionieren, wie vereine ich Front- und Backend wieder?"

Lösche alle verlinkten (!) Tabellen aus dem FE.

Importiere ( nicht! verlinke) alle Tabellen, die sich im BE befinden.

"will mir mit meiner 2007er-DB nicht gelingen."


Was gelingt da nicht?

accessundich

So habe alle verknüpften Tabellen gelöscht und mit Importieren wieder eine einheitliche DB erstellt, die bei jeder Änderung halt durch Kopieren Einfügen eine neue Versionierung erhält.

Halte nichts von dieser Aufteilerei, funktioniert auf einer gemischten Mac/PC-Umgebung nicht zufriedenstellend.
Der Verknüpfungsmanager bräuchte dringend eine Dateidialogfunktion und nicht die Auswahl einer sowieso nicht funktionierenden Pfadangabe. Nonsens.

Viele Grüße
Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.

accessundich

Zitat von: DF6GL am März 14, 2010, 14:18:13
Hallo Andi,

warum denn so gefrustet?


"Sollte meine DB je wieder funktionieren, wie vereine ich Front- und Backend wieder?"

Lösche alle verlinkten (!) Tabellen aus dem FE.

Importiere ( nicht! verlinke) alle Tabellen, die sich im BE befinden.

"will mir mit meiner 2007er-DB nicht gelingen."


Was gelingt da nicht?


Hi Franz,

weil außer Ärger diese Aufteilerei bei mir nicht viel bringt. Es nervt nur und da suche ich mich jetzt seit Stunden tot und ich erhalte tonnenweise Fehlermeldungen.
Nicht wirklich gelungen und ich bin halt beruflich gezwungen zwischen MAC/PC und Access sowie Filemaker zu arbeiten. Also warum dann nicht das Backend wo auch immer halten und mit Aufruf des Frontends einen einfachen Dialog anzeigen: Wo darf ich Ihr BackEnd suchen???
Soll es ja geben, nur finde ich es nicht.

Hast Du einen wirklich funktionierenden Code?

Danke
Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.

DF6GL

#6
Hallo Andi,


naja, Code habe ich schon wie den sonst üblichen... (refreshlink, Filedialog-Funktion/Klasse).    Die Krux an der Sache ist aber m. E., dass die Pfade zur BE-Datei absolut hinterlegt werden, so dass immer dann, wenn sich die Verzeichnisstrukturen ändern, auch das BE wieder durch Auswahl/Angabe des neuen Pfades neu einzubinden ist.


Aber das ist eigentlich immer so, egal ob mit Jet-Engine(Access) oder SQL-Server oder MySqL oder sonstwas.



Einzig wenn das BE im selben Verzeichnis liegt wie das FE, kann man das etwas ohne manuellen Eingriff automatisieren.

Wenn es keinen Multiuser-Betrieb gibt, ist die beste Situation wirklich die Zusammenführung von BE und FE zu einer Datei.

Nochmal PS:  ...und Du selber Entwickler und Benutzer der DB bist

accessundich

Hi Franz,

Danke Dir.

Dass ist ja auch gut so, nur sollte es da in meinen Augen einen gescheiten FileDialog geben und da suche ich bereits seit geraumer Zeit nach einem gescheiten Code, wo eben eine freundliche Dialogstimme um Angabe des Pfades bittet.

Seufz
Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.


accessundich

Hi Franz,

Danke für die Links. Werde mich da gleich einmal mit beschäftigen, wenn auch ohne "freundliche Stimme"  ;D

Viele Grüße
Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.

cvbcologne

Zitat von: DF6GL am März 14, 2010, 14:29:26
Hallo Andi,


>naja, Code habe ich schon wie den sonst üblichen... (refreshlink, Filedialog-Funktion/Klasse).    Die Krux >an der Sache ist aber m. E., dass die Pfade zur BE-Datei absolut hinterlegt werden, so dass immer dann, >wenn sich die Verzeichnisstrukturen ändern, auch das BE wieder durch Auswahl/Angabe des neuen >fades neu einzubinden ist.

>Einzig wenn das BE im selben Verzeichnis liegt wie das FE, kann man das etwas ohne manuellen Eingriff >automatisieren.

Wie geht das???

Wenn es keinen Multiuser-Betrieb gibt, ist die beste Situation wirklich die Zusammenführung von BE und FE zu einer Datei.

Nochmal PS:  ...und Du selber Entwickler und Benutzer der DB bist