Hallo zusammen
ich versuche Daten aus einer
Access DB nach Firebird zu Importieren.
Das ganze geht auch bis ich eine Zahl habe die über 999 ist.
Da
Access das ganze so 7.111,15 gespeichert hat. Erhalte ich immer die
Fehlermeldung:
7.111,15 is not a valid BCD value
Hat auch Anfangs probleme mit dem Dezimalseparator aber dank der Forumssuche bin ich da weitergekommen.
Der code sieht folgendermassen aus:
Delphi-Quellcode:
DM.DB_Gideons.Connected := True;
DM.Default_D.Open;
DecimalSeparator := ',';
ThousandSeparator := '.';
frm_main.log_window.Lines.Add('==================history=================');
if not DM.Camps.Active then DM.Camps.Open;
try
DM.ADOT_Default_d_imp.Open;
DM.ADOT_Default_d_imp.First;
for i := 0 to DM.ADOT_Default_d_imp.RecordCount -1 do begin
with DM.Default_D do
begin
Insert;
FieldByName('ID').AsString := DM.ADOT_default_d_imp.FieldByName('ID').AsString;
FieldByName('C_NR').AsString := DM.Camps.FieldByName('C_NR').AsString;
FieldByName('U_NR').AsString := DM.Camps.FieldByName('U_NR').AsString;
FieldByName('ID_AREA').AsString := DM.ADOT_default_d_imp.FieldByName('id_sparte').AsString;
FieldByName('H_DATE').AsString := DM.ADOT_default_d_imp.FieldByName('datum').AsString;
FieldByName('H_KIND_SERVICE').AsString := DM.ADOT_default_d_imp.FieldByName('Art_Dienst').AsString;
FieldByName('H_DONATION').AsString := DM.ADOT_default_d_imp.FieldByName('Spende').AsString;
FieldByName('H_G_SPEAKER').AsString := DM.ADOT_default_d_imp.FieldByName('Gideon_Sprecher').AsString;
FieldByName('H_C_PERSON').AsString := DM.ADOT_default_d_imp.FieldByName('kontakt_herg_durch').AsString;
FieldByName('H_NOTE').AsString := DM.ADOT_default_d_imp.FieldByName('Bemerkung').AsString;
FieldByName('L_UPDATE').AsString := DM.ADOT_default_d_imp.FieldByName('letzte_Aktualisierung').AsString;
frm_main.log_window.Lines.Add(''+ FieldByName('H_DATE').AsString) ; // Logeintrag
Post;
DM.ADOT_Default_D_imp.Next;
end;
end;
finally
DM.pFIBTrans.Commit;
end;
Shalom
Manfred