Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: EXCELDEN PARADOX VERİ TABANINA VERİ AKTARIMI  (Okunma sayısı 1596 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı romantik.kumral

  • Delphi 1 Level 3
  • ***
  • İleti: 20
  • Rep: +0/-0
EXCELDEN PARADOX VERİ TABANINA VERİ AKTARIMI
« : 08 Ağustos 2008 16:11:55 »
S.A arkadaşlar, paradox veri tabanı kullanarak yaptığım programdan( bu programın yapımında bana çok yardımcı olan  CTURK arkadaşıma teşekkürler  ;)) excel e veri aktarabiliyorum ama excelden geriye nasıl alacağım bilmiyorum.Baya bi aradım ama bulamadım.Bi ara formda görmüştüm ama aramalarda çıkmıyor.Bilen arkadaşlar kodları yada adresi verirse sevinirim.

Çevrimdışı Cturk

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +5/-1
  • Cinsiyet: Bay
Ynt: EXCELDEN PARADOX VERİ TABANINA VERİ AKTARIMI
« Yanıtla #1 : 08 Ağustos 2008 20:19:41 »
Slm.Arkadaşım...Ben OpenDialogla bir örnek veriyorum,çünkü excell'e aktarılan dosyalar muhakkak bir kitab1 adlı dosya oluşturur,bunu Harddiske başka bir isimlede kayıt edilir. Excellden aktarım için önce yapacakların; Veri aktarıyorum diyorsun,ben aşağıdaki kodu veriyorum bunun için yapacağın; daha önce Excelle aktardığın Field sütunların kaç tane ise "For Sutun" yazan yerde belirt yoksa hata alırsın;
Tablona bir "OpenDialog" ekle (Excell'e daha önce bir dosya adıyla kaydedilen veriyi open dialogla getirirsin).
// uses: comobj; ekle.
Kod:  (Unknown Language)
  1. var // uses: comobj; ekle.
  2.   book:variant;
  3.   excel,sheet:variant;
  4.   satir, sutun:integer;
  5.   str:string;
  6. begin
  7.   excel := createOleObject('Excel.application');
  8.   OpenDialog1.Filter := 'Excel Dosyaları (*.xls)|*.xls';
  9.   if opendialog1.Execute then
  10.     begin
  11.       book:= Excel.WorkBooks.Open(OpenDialog1.FileName);
  12.       try
  13.        //
  14.       finally
  15.     end;
  16.   Screen.Cursor := crHourGlass;
  17.   sheet := book.worksheets[1];
  18.   for satir:=2 to 4000 do
  19.     begin
  20.       str := sheet.cells[satir, 1];
  21.       if (str <> '') then
  22.         begin
  23.           Update;
  24.           Table1.Insert;
  25.           for sutun:=2 to 50 do //burasını(50) Tablondaki Fieldlerin sayısı kadar ayarla
  26.           Table1.Fields[sutun-1].AsString :=sheet.cells[satir,sutun];
  27.           Table1.Post;
  28.         end;
  29.     end;
  30.   Excel.quit;
  31.   excel:=Unassigned;
  32.   Screen.Cursor := crDefault;
  33.   ShowMessage(''+'Excellden Kayıtlar VT”ye aktarılmıştır ! ');
  34.   end;
  35. end;
  36.  
Kolay gelsin....
« Son Düzenleme: 08 Ağustos 2008 20:24:08 by Cturk »

Çevrimdışı NeverFear

  • Delphi 1 Level 2
  • **
  • İleti: 11
  • Rep: +0/-0
  • Cinsiyet: Bay
Ynt: EXCELDEN PARADOX VERİ TABANINA VERİ AKTARIMI
« Yanıtla #2 : 08 Ağustos 2008 23:52:26 »
24/07/2004'de bir delphi kod paylaşım sitesinin KodBank kısmına gönderdiğim konu ile ilgili kodlar.
Kod:  (Unknown Language)
  1. procedure TForm1.BitBtn1Click(Sender: TObject);
  2. var
  3.   RowN: Integer;
  4.   Deger: String;
  5. begin
  6.   for RowN:= 2 to F1Book1.LastRow do
  7.   begin
  8.      with Table1 do
  9.      begin
  10.         {$I+}
  11.         Deger:= F1Book1.TextRC[RowN,1];
  12.         if FindKey([StrToInt(Deger)]) then Edit else Append;
  13.         FieldByName('SiraNo').Value:= StrToInt(F1Book1.TextRC[RowN,1]);
  14.         FieldByName('MusAd').Value:= F1Book1.TextRC[RowN,2];
  15.         if F1Book1.TextRC[RowN,3] = '' then
  16.            FieldByName('MusSoyad').Value:= ','
  17.         else FieldByName('MusSoyad').Value:= F1Book1.TextRC[RowN,3];
  18.         Table1.Post;
  19.      end;
  20.   end;
  21. end;
  22.  
  23. //1. Saha tanımlamanız arttıkça sen de artırmalısınız
  24. //2. Excel'deki sütun sayın arttıkça F1Book1.TextRC[RowN,3] 'daki RowN,3 -> 3 sayısını arttırmalısınız
  25.  

Ayrıca, aşağıda verdiğim linkde de açıklama eklerini bulabilirsin.

http://www.delphiturk.com/Replys.aspx?PostId=30600&ForumId=100

İşinizi görmesi dileğimle,
Çalışmalarınızda başarılar dilerim.

NeverFear - kaheri579@hotmail.com
« Son Düzenleme: 09 Ağustos 2008 12:58:47 by Kocaturk »
Bilgi paylaşımı ve öğrenmenin yaşı olmaz