Excell den Db ye veri aktarmak !!
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Bu böyle olmayacak.... 
Lütfen aşağıdaki örneği bire bir uygulayın...
- Proje klasöründe GIRESUN.XLS var bir de yine proje klasöründe AKTARMA.DB olduğunu varsayıyorum...
- AKTARMA.DB'deki alan isimleri A, B, C olduğunu ; GIRESUN.XLS'deki sütun başlıklarının da A, B, C olduğunu varsayıyorum...

Lütfen aşağıdaki örneği bire bir uygulayın...

- Proje klasöründe GIRESUN.XLS var bir de yine proje klasöründe AKTARMA.DB olduğunu varsayıyorum...
- AKTARMA.DB'deki alan isimleri A, B, C olduğunu ; GIRESUN.XLS'deki sütun başlıklarının da A, B, C olduğunu varsayıyorum...
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
// Jet 4.0 ile Windows altındaki Mspbde40.DLL kullanılır...
Var
BagXLS,
BagPDX : String;
XLSDosya,
PDXDosya : String;
begin
XLSDosya := ExtractFilePath(Application.ExeName)+'GIRESUN.XLS';
PDXDosya := ExtractFilePath(Application.ExeName)+'AKTARMA.DB';
BagPDX := 'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Paradox 5.x;'
+ 'Data Source='+ExtractFilePath(PDXDosya);
BagXLS := 'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;'
+ 'Data Source='+XLSDosya;
AdoConnection1.Close;
With AdoQuery1 do
begin
Active := False;
Connection := AdoConnection1;
AdoConnection1.ConnectionString := BagPDX;
AdoConnection1.LoginPrompt := False;
With AdoQuery1 do
begin
SQL.Clear;
SQL.Add('INSERT INTO ' + ExtractFileName(PDXDosya) );
SQL.Add(' (A, B, C)');
SQL.Add('SELECT A, B, C from [Sayfa1$] IN "'+XLSDosya+'" "Excel 8.0;"');
ExecSQL;
end;
end;
ShowMessage('Aktarma İşlemi Sonuçlandı...');
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
// Jet 4.0 ile Windows altındaki Mspbde40.DLL kullanılır...
Var
BagXLS,
BagPDX : String;
XLSDosya,
PDXDosya : String;
begin
// XLSDosya := ExtractFilePath(Application.ExeName)+'GIRESUN.XLS';
// PDXDosya := ExtractFilePath(Application.ExeName)+'AKTARMA.DB';
XLSDosya := 'C:\GIRESUN.XLS';
PDXDosya := 'C:\SIS2003\DATA2004\AKTARMA.DB';
BagPDX := 'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Paradox 5.x;'
+ 'Data Source='+ExtractFilePath(PDXDosya);
BagXLS := 'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;'
+ 'Data Source='+XLSDosya;
AdoConnection1.Close;
With AdoQuery1 do
begin
Active := False;
Connection := AdoConnection1;
AdoConnection1.ConnectionString := BagPDX;
AdoConnection1.LoginPrompt := False;
With AdoQuery1 do
begin
SQL.Clear;
SQL.Add('INSERT INTO ' + ExtractFileName(PDXDosya) );
SQL.Add(' (A, B, C)');
SQL.Add('SELECT A, B, C from [Sayfa1$] IN "'+XLSDosya+'" "Excel 8.0;"');
ExecSQL;
end;
end;
ShowMessage('Aktarma İşlemi Sonuçlandı...');
end;



- Sana deneyip gönderiğim test edilmiş hali de sende çalışmadığına göre başka yerde problem arayalım.

- Bu durum başlığı gören herkese ders olsun. Başlangıçta söylemem gereken ama sona kalmış olan son bir söz. Paradox veritabanını unut. MS_Access veya Firebird veritabanına geç.

Arkadaşım hallettim yardımlarından özürü çok teşekkür ediyorum.
Db ye aktarmayı başardım. DB den DB ye aktarmam gerekiyor.Çünkü AKTARMA.DB yi geçici oluşturdum şimdi esas DB ye aktarmam gerekiyor alanlarım ise şöyle;
Bu şekilde yardım edersen sevinirim.
Db ye aktarmayı başardım. DB den DB ye aktarmam gerekiyor.Çünkü AKTARMA.DB yi geçici oluşturdum şimdi esas DB ye aktarmam gerekiyor alanlarım ise şöyle;
Kod: Tümünü seç
AKTARMA.DB SISTEMFOR.DB
A = SISKOD
B = SISADI
C = SISSOY
D = SISISAD
E = SISISTF
Arkadaşım sen ne zaman program yazmaya başlayacaksın merak ediyorum. Herkes programcı olmak zorunda değil. Parası neyse verirsin yazdırırsın.
Gözlemlediğim kadarıyla bu işi yapamıyorsun, yanlış yapıyorsun. Öğrenme gibi bir isteğin de yok. Sana bu konuda daha önce de yazdım. Eski tas eski tas eski hamam devam ediyorsun.
@mrmcop içimizde en anlayışlı olanlardan biri. Ancak onu bile bezdirdiğini görüyorum.
Yardım edip etmemek onun bileceği bir iş ancak ben sana yardım etmiyorum. Çünkü uğraştığını düşünmüyorum.
Bu forum program yazdırma yeri değil, uğraşıp didindikten sonra ve yapamadıktan sonra, google vs. den arama yaptıktan da sonra son başvurulacak yer.
Öğrenmek istiyorsan, seminer videolarını indirip izle. Bu forumdaki hemen hemen bütün mesajları oku. Programlama öğrenmenin yolu budur. Başkasına kod yazdırmak değildir.
Sen anı kurtarıyorsun. Geleceğine yatırım yapmıyorsun.
Bu sana tecrübeli birinden son tavsiye bir daha böyle bir mesaj da yazmayacağım sana.
Kolay gelsin.
Gözlemlediğim kadarıyla bu işi yapamıyorsun, yanlış yapıyorsun. Öğrenme gibi bir isteğin de yok. Sana bu konuda daha önce de yazdım. Eski tas eski tas eski hamam devam ediyorsun.
@mrmcop içimizde en anlayışlı olanlardan biri. Ancak onu bile bezdirdiğini görüyorum.

Bu forum program yazdırma yeri değil, uğraşıp didindikten sonra ve yapamadıktan sonra, google vs. den arama yaptıktan da sonra son başvurulacak yer.
Öğrenmek istiyorsan, seminer videolarını indirip izle. Bu forumdaki hemen hemen bütün mesajları oku. Programlama öğrenmenin yolu budur. Başkasına kod yazdırmak değildir.
Sen anı kurtarıyorsun. Geleceğine yatırım yapmıyorsun.
Bu sana tecrübeli birinden son tavsiye bir daha böyle bir mesaj da yazmayacağım sana.
Kolay gelsin.