Sa. herkese kolay gelsin.
Excelden MSSQL 2005 Express veritabanına kayıt aktarımı ile uğraşıyorum. Forumdaki örneklerden yola çıkarak yapmış olduğum aktarım rutini birebir sutun yapısı uymak kaydıyla çalışıyor.
Yani DB deki aktarım yapmak istediğiniz tablodaki field sırası ile exceldeki sıranın aynı olması gerekmekte, buda farklı farklı yerlerden alınan excel dosyalarının aktarımda sorun olmaya başladı.
Nette dolaşırken şu linkteki bi aktarımın File Maker tarafından yapılabildiğini gördüm.
http://www.youngsmarts.com/tr/egitim/Fi ... /ders3.htm
bu tarz seçimli bir aktarım modülünün delphi de yazılması mümkünmüdür. Eğer böyle bir uygulama ile çalışan arkadaşlar var ise yönlendirebilirler mi şimdiden teşekkür ederim yardımlarınız için
Kolay gelsin
Excelden DB'ye seçimli kayıt aktarımı yapmak
Excelden DB'ye seçimli kayıt aktarımı yapmak
Gecenin en karanlık anı sabahın en yakın olduğu andır.
Re: Excelden DB'ye seçimli kayıt aktarımı yapmak
Sa. bu tarz bir işlem ile hiç uğraşan arkadaşımız yok mu? en azından fikir verebilirsiniz % 80 programlar veri alış verişinde bulunular. ....
İlgilenen arkadaşlara şimdiden teşekkürler ....
İlgilenen arkadaşlara şimdiden teşekkürler ....
Gecenin en karanlık anı sabahın en yakın olduğu andır.
Re: Excelden DB'ye seçimli kayıt aktarımı yapmak
Excel VBA ile ADO kullnarak SQL Server dan kriterli veri çekebiliyorum.
Siz bu şekilde mi, yoksa Query Table ile mi veri almak istiyorsunuz?
Siz bu şekilde mi, yoksa Query Table ile mi veri almak istiyorsunuz?
Re: Excelden DB'ye seçimli kayıt aktarımı yapmak
AdoConnection1.Close;
//
//str := extractfilepath (application.exename) +'myosm.xls';
str:=Edit1.Text;
AdoConnection1.Connected:=False;
AdoConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;'+
'Mode=Share Deny None;'+
'Data Source='+str+';'+
'Extended Properties=Excel 8.0;';
try
AdoConnection1.Open;
//
Button1.Enabled:=false;
Button2.Enabled:=true;
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.DisableControls;
AdoQuery1.SQL.Add('select * from [sayfa1$]');
AdoQuery1.Open;
AdoQuery1.EnableControls;
except
ShowMessage('Hata....Excele bağlanamadı...');
raise;
end;
Şeklinde Exceldeki bilgileri query alıyorum.
Alınan query içersinde ki alanlar excel belgesinden farklılık göstereceği için field items ler ile çalışıyorum.
veritabanı alanları excelden querye çekilen alanlarla eşleştirip aktarımını yapmaya çalışıyorum
//
//str := extractfilepath (application.exename) +'myosm.xls';
str:=Edit1.Text;
AdoConnection1.Connected:=False;
AdoConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;'+
'Mode=Share Deny None;'+
'Data Source='+str+';'+
'Extended Properties=Excel 8.0;';
try
AdoConnection1.Open;
//
Button1.Enabled:=false;
Button2.Enabled:=true;
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.DisableControls;
AdoQuery1.SQL.Add('select * from [sayfa1$]');
AdoQuery1.Open;
AdoQuery1.EnableControls;
except
ShowMessage('Hata....Excele bağlanamadı...');
raise;
end;
Şeklinde Exceldeki bilgileri query alıyorum.
Alınan query içersinde ki alanlar excel belgesinden farklılık göstereceği için field items ler ile çalışıyorum.
veritabanı alanları excelden querye çekilen alanlarla eşleştirip aktarımını yapmaya çalışıyorum
Gecenin en karanlık anı sabahın en yakın olduğu andır.
Re: Excelden DB'ye seçimli kayıt aktarımı yapmak
İstediğin şeyi yapmaya bende 10 gün önce başladım aslında bitti sayılır.
Benim yaptığımda sistem söyle çalışıyor.
önce Connection veriyorsun.
sonra sql server veritabanını seçiyorsun.
Veritabanına ait tablolar geliyor oradanda ilgili tabloyu seçiyorsun.
ondan sonra excel dosyanı seçiyorsun.
Daha sonra iki gridim var yan yana biri tablonun aşanlarını içeriyor diğeri ise excel tablosunun fieldlarını istediğin fieldları eşleştiriyorun aktar diyorsun aktarıyor şuan. bunu geliştirmeye devam edeceğim txt aktarımını içine ekleyeceğim.
bu arada ben bunu c# ile yaptım.
İmport & export tool olarak kullanacağım. Transaction desteğide var.
Yanlızca ilişkili kayıtlarda aktarımı sorununu nasıl hallederimi düşünmedim. Aslında bu aktarımı yapan yazılımcıysa sorun yok. Yada foreign keylerin değerlerini bilen ve foreign keyler olmalı vs.
Daha çok dalı budağı olabilir.
Eğer c# kodu işine yararsa paylaşırız sıkıntı olmaz.
bu arada en yakın 1 haziranda atabilirim bu hafta sonu düğünüm var .
Tekrar kolay gelsin.
Örnek olsun istiyorsan my sql için kullanılan ems diye bir program var.
bundan esinlenmiştim ben çok güzel arayüz olarak da ondan istifade edebilirsin.
Benim yaptığımda sistem söyle çalışıyor.
önce Connection veriyorsun.
sonra sql server veritabanını seçiyorsun.
Veritabanına ait tablolar geliyor oradanda ilgili tabloyu seçiyorsun.
ondan sonra excel dosyanı seçiyorsun.
Daha sonra iki gridim var yan yana biri tablonun aşanlarını içeriyor diğeri ise excel tablosunun fieldlarını istediğin fieldları eşleştiriyorun aktar diyorsun aktarıyor şuan. bunu geliştirmeye devam edeceğim txt aktarımını içine ekleyeceğim.
bu arada ben bunu c# ile yaptım.
İmport & export tool olarak kullanacağım. Transaction desteğide var.
Yanlızca ilişkili kayıtlarda aktarımı sorununu nasıl hallederimi düşünmedim. Aslında bu aktarımı yapan yazılımcıysa sorun yok. Yada foreign keylerin değerlerini bilen ve foreign keyler olmalı vs.
Daha çok dalı budağı olabilir.
Eğer c# kodu işine yararsa paylaşırız sıkıntı olmaz.
bu arada en yakın 1 haziranda atabilirim bu hafta sonu düğünüm var .
Tekrar kolay gelsin.
Örnek olsun istiyorsan my sql için kullanılan ems diye bir program var.
bundan esinlenmiştim ben çok güzel arayüz olarak da ondan istifade edebilirsin.
Re: Excelden DB'ye seçimli kayıt aktarımı yapmak
Paket programlar altın bahsettiğim projeyi attım.
ordan bakabilirsin istersen yardımcı olursa sevinirim.
Kaynak kodlarıda içinde
ordan bakabilirsin istersen yardımcı olursa sevinirim.
Kaynak kodlarıda içinde
derviş