Einzelnen Beitrag anzeigen

manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#1

Import aus Access >> ThousandSeparator

  Alt 16. Nov 2006, 15:47
Datenbank: Firebird • Version: 1.5 • Zugriff über: Fibplus
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
  Mit Zitat antworten Zitat