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
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
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.
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.
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.
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