Einzelnen Beitrag anzeigen

manfred_h

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

Re: Import aus Access plus ID > GUID

  Alt 4. Mär 2006, 20:57
Hallo zusammen

habe es geschafft das ich die Daten der Access DB nach Firebird bekomme
wenn das jemand interessiert hier der Code ( Arbeite erst neu mit Delphi )

Delphi-Quellcode:
procedure Tfrm_tools.TntButton1Click(Sender: TObject);
begin
  DM.ADOC_nursh_imp.Open();
    DM.ADOT_nursh_imp.TableName:='altersheim';
    DM.pFIBDB_Gideons.Connected := True;
    DM.pFIBDS_NursingH.Open;
    if not DM.pFIBDS_Camps.Active then DM.pFIBDS_Camps.Open;

      try
        DM.ADOT_nursh_imp.First;
        for i := 0 to DM.ADOT_nursh_imp.RecordCount -1 do begin
          DM.pFIBDS_NursingH.Insert;
          DM.pFIBDS_NursingH.FieldByName('ID').AsString := DM.ADOT_nursh_imp.FieldByName('ID').AsString;
          DM.pFIBDS_NursingH.FieldByName('C_NR').AsString := DM.ADOT_nursh_imp.FieldByName('G_Nr').AsString;
          DM.pFIBDS_NursingH.FieldByName('U_NR').AsString := DM.ADOT_nursh_imp.FieldByName('U_Nr').AsString;
          DM.pFIBDS_NursingH.FieldByName('NAME').AsString := DM.ADOT_nursh_imp.FieldByName('Name').AsString;
          DM.pFIBDS_NursingH.FieldByName('STR').AsString := DM.ADOT_nursh_imp.FieldByName('Strasse').AsString;
          DM.pFIBDS_NursingH.FieldByName('PLZ').AsString := DM.ADOT_nursh_imp.FieldByName('PLZ').AsString;
          DM.pFIBDS_NursingH.Post;
          DM.ADOT_nursh_imp.Next;
        end;
      finally
    DM.pFIBDS_NursingH.Active := false;
    DM.ADOT_nursh_imp.Active := false;
  end;


end;
nun kommt der schwirigere Teil ( für mich )
ich möchte die ID aus Access mit einer GUID ersetzten inkl. in den Verknüpften Tabellen.

Fals mir hier jemand ein wenig auf die Sprünge helfen kann.
hier der Code an dem ich rumprobiere ( teile habe ich Testweise ausgeklammert )
Delphi-Quellcode:
procedure Tfrm_tools.btn_idreplClick(Sender: TObject);
begin
    DM.pFIBDB_Gideons.Connected := True;
    DM.pFIBDS_NursingH.Open;
 // DM.pFIBDS_NursingH_D.Open;
 // DM.pFIBDS_NursingH_DD.Open;
    if not DM.pFIBDS_Camps.Active then DM.pFIBDS_Camps.Open;

      try
        DM.ADOT_nursh_imp.First;
        for i := 0 to DM.ADOT_nursh_imp.RecordCount -1 do begin
          old_id:= Dm.pFIBDS_NursingH.FieldByName('ID').AsInteger;
          new_id:= CreateClassID;
          //new_id:= StringReplace(old_id,(''+(CreateClassID)) [rfReplaceAll, rfIgnoreCase]);
          // SELECT NURSING_H_D.ID_AREA FROM NURSING_H_D WHERE ID_AREA = 25

          DM.pFIBDS_NursingH.Edit;
          DM.pFIBDS_NursingH.FieldByName('ID').AsString := new_id;
          DM.pFIBDS_NursingH.Post;

          //DM.pFIBDS_NursingH_D.FieldByFieldNo(old_id);
          //DM.pFIBDS_NursingH_D.Insert;
          //DM.pFIBDS_NursingH_D.FieldByName('ID_AREA').AsString:= new_id;
          //DM.pFIBDS_NursingH_D.Post;

          DM.ADOT_nursh_imp.Next;
        end;
      finally
    // DM.pFIBDS_NursingH.Active := false;
    // DM.ADOT_nursh_imp.Active := false;
  end;
end;

Manfred
  Mit Zitat antworten Zitat