Hallo,
ich muss Daten aus dBase-Datenbank importieren.
Das Problem ist das der import über mehrere Geschäftsjahre laufen muss und die Geschäftsjahre sind durch verzeichnise getrennt.
GJ 2010 verzeichnis c:\Programme\Programname\db\20100
GJ 2009 verzeichnis c:\Programme\Programname\db\20090
GJ 2008 verzeichnis c:\Programme\Programname\db\20080
Denn zugriff mach ich über ODBC und ADO was auch so weit funktioniert bis ich die Datenbank-Pfade wechseln will.
Kann mir jemand sagen was an diesem Code falsch ist:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| for I := Low(pfade) to High(pfade) do begin ADOQuery1.Close; ADOQuery1.Connection.Close; ADOQuery1.Connection.DefaultDatabase := pfade[i]; ADOQuery1.Connection.open; ADOQuery1.Open;
setLength(SearchStrings, 1); SearchStrings[0] := 'bel_nr'; MODatenImport(ADOQuery1, ADOQuery1, SQLQuery1, 'Rechnung', 'Rechnungen', '', '', '', '', '', SearchStrings); end; |
Der pfade Array ist ein array of string (TStringDynArray) und es sind verschiedene Datenbanken-Pfade im Array.
Bei erstem durchlauf funktioniert der Code.
Bei zweitem durchlauf auch, nur der Pfand wird nicht geändert.
Wenn ich direkt danach eine ausgabe von ADOQuery.Connection.DefaultDatabase mache, wird der richtige verzeichnis angezeigt.
Form1.RibbonStatusBar.Panels[0].Text := ADOQuery.Connection.DefaultDatabase;
Gruss
Marijo
Moderiert von
Narses: Delphi-Tags hinzugefügt