November 25, 2020, 06:07:15

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Externe Datenbank verknüpfen

Begonnen von smily68, November 11, 2020, 16:38:43

⏪ vorheriges - nächstes ⏩

smily68

Guten Tag

Ich habe folgende Problematik:
Meine Access-Lösung ist in Front-End und Back-End aufgeteilt. Das Front-End ist auf verschiedenen Rechnern. Die Verknüpfung der Back-End Tabellen mit dem Front-End Teil geschieht mit einem VB Code.
Dieser Code hat eigentlich funktioniert. Nun wollte ich neulich die Datenbank neu verknüpfen, dabei gab es folgende Fehlermeldung:

Bei der Verknüpfung ist ein Fehler aufgetreten. Fehlerbeschreibung: Syntaxfehler in DROP TABLE oder DROP INDEX

Der Code als Attachments angehängt

Wer kann mir weiterhelfen

Gruss Daniel

Beaker s.a.

Hallo Daniel,
Wie das aussieht verknüpfst du die Tabelle nicht neu, sondern
löscht sie und importierst sie neu. Einfacher ist aber tatsächlich
die Verknüpfung, sprich den Connectionstring der Tabellen zu
überschreiben
(Luftcode-Fragment)
For Each tdf In db.TableDefs
    If tdf.Connect <> "" Then
        tdf.Connect = "neuerPfad"
        tdf.RefreshLink
    End If
Next
db.Tabledefs.Refresh

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

PhilS

Zitat von: smily68 am November 11, 2020, 16:38:43Bei der Verknüpfung ist ein Fehler aufgetreten. Fehlerbeschreibung: Syntaxfehler in DROP TABLE oder DROP INDEX
Wenn du dich auf Objekte mit Leer- oder Sonderzeichen im Namen beziehst, musst du den Namen in eckige Klammern einschließen.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

smily68

Lieber Beaker
Die Lösung mit dem Überschreiben der Verknüpfung geht insofern nicht, da ich zwei verschiedene Datenbanken verknüpfen muss. Die eine Datenbank ist ein Buchhaltungsprogramm und die zweite Datenbank ist meine eigene. Beim Überschreiben der Verknüpfung kann ich keine Unterscheidung machen, welche Tabelle nun welchen Pfad bekommt.

Lieber PhilS
Meine Tabellennamen haben weder Sonderzeichen noch Leerzeichen.

Ich habe die Fehlermeldung bei meiner Test und Entwicklungs-Access-Lösung. Ich habe nun die Maske und den entsprechenden Code in die produktive Umgebung eingebaut und hier geht er. Ich werde nun eine Kopie von der produktiven Version machen und alle neu entwickelten Teile von der Testversion dort einbauen.
Mir ist aber immer noch nicht klar warum diese Fehlermeldung kommt.

ebs17

ZitatMeine Tabellennamen haben weder Sonderzeichen noch Leerzeichen.
Ich würde das trotzdem prüfen oder bei dem Verdacht eines möglichen Auftretens gleich solche Bezeichnungen sicherheitshalber maskieren.
Mit freundlichem Glück Auf!

Eberhard

Beaker s.a.

Hallo Daniel,
ZitatBeim Überschreiben der Verknüpfung kann ich keine Unterscheidung machen, welche Tabelle nun welchen Pfad bekommt.
Wie, du weisst nicht welche Tabelle mit welcher DB verknüpft ist?
Wieso nicht? In deinem Code sind die doch auch getrennt.
Dann ermittele das aus der alten Connection.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.