Neuigkeiten:

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

Mobiles Hauptmenü

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

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.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)