Danke für die Antwort.
Das mit dem Match hat einfach nicht funktioniert. Es kommt immer wieder zu dieversen Fehlermeldungen mit den ausgelesnen SQL Anweisungen. Aus zeitlichen Gründen habe ich die Lösung etwas umgebaut. Da ich ja die Datenbanknamen der DBASE Dateien kenne lege einfach per Access eine Dtaenbank mit den entsprechenden Tabellen an.
So kann ich zur Laufzeit die entsprechende Datenbank auswählen und die Daten kopieren. Das klappt auch so weit.
Aber zu diesem Thema, ich habe mit ja den Connectionstring zur Laufzeit in ein Memofeld eingelesen, da bekomme ich folgendes zurück:
Quelltext
1:
| Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=V:\Programmieren\Delphi\KonvertLexikon\ARTIKEL.mdb;Mode=ReadWrite;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False |
Ich brauche nun den Wert für die Datasource. Eigentlich sogar ohne Pfad und schön wäre auch noch ohne Dateiendung.
der Befehl:
ADOConnection.connectionstring.DataSource gibt es aber nicht.
Die Connection wird erst zur Laufzeit hergestellt.
Ich möchte halt vor dem Kopieren erst noch ne MessagesBox haben in der steht:
Delphi-Quelltext
1:
| 'Wollen Sie..balaba die Daten der DBASE Datenbank' + +'in die Access Datenbank' +' (***Variable***) +' kopieren ? +#10+#13 +'Achtung bla bla |
Also klick OK oder lass es bleiben so was in der Art. Nur die Connection zur Accessdatenbank kann eben varieren.
Moderiert von
Klabautermann: Delphi- & code-Tags eingefügt.