Excelden Veri Çekerken Sütünlarda Eksik Veriler..

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Excelden Veri Çekerken Sütünlarda Eksik Veriler..

Mesaj gönderen neu84 »

Merhaba Arkadaşlar,
Exceli Db olarak Ado componenti ile kullanmaya çalışıyorum, veri çekiyorum dbgride ancak çektigim sütunlardaki veriler gelmeyebilir, yani bi sütün düşünün bir sürü veri var, bi kısmı geliyo sonra aralarda boş satırlar oluyo, sonra yine dolu geliyo. Kısım kısım boş görünüyo dbgriddeki sütündaki alanlar.. Önerilerinizi bekliyorum.. Şİmdiden tşk ederim...

Kodlarımın bi kısmı şu şekilde, zaten hepsi benzer. Eksik gelmesi nedendir?

Kod: Tümünü seç

   AdoConnection1.Connected:=False;
   AdoConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;' +
                  'Data Source=' + str + ';' +
                  'Extended Properties=Excel 8.0;';
   try
      AdoConnection1.Open;
   except
      ShowMessage('Hata....Excele bağlanamadı...');
      raise;
   end;

   //personel tabloyu seç
   AdoQuery1.Close;
   AdoQuery1.SQL.Clear;
   AdoQuery1.SQL.Add('select * from [sayfa1$]');
   AdoQuery1.Open;

   //grup tabloyu seç
   AdoQuery2.Close;
   AdoQuery2.SQL.Clear;
   AdoQuery2.SQL.Add('select * from [sayfa2$]');
   AdoQuery2.Open;

   //-----------------------------------------------------------------------
   DBGrid1.Columns.Clear;

   DBGrid1.Columns.Add;
   DBGrid1.Columns[0].FieldName:='MODELKODU';
   DBGrid1.Columns[0].Title.Caption:='MODELKODU';
   DBGrid1.Columns[0].Width:=100;
   DBGrid1.Columns[0].Title.Font.Color:=clRed;

   DBGrid1.Columns.Add;
   DBGrid1.Columns[1].FieldName:='renkodu';
   DBGrid1.Columns[1].Title.Caption:='renkodu';
   DBGrid1.Columns[1].Width:=100;
   DBGrid1.Columns[1].Color:=clInfoBk;
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Excelden Veri Çekerken Sütünlarda Eksik Veriler..

Mesaj gönderen mkysoft »

excelde arada boş ve gizli satırlar olabilir. diğer bir ihtimal siz sütunu integer olarak çağırıyorsunuzdur, ama excelde bazı satırlar metin olabilir.
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Excelden Veri Çekerken Sütünlarda Eksik Veriler..

Mesaj gönderen neu84 »

mkysoft yazdı:excelde arada boş ve gizli satırlar olabilir. diğer bir ihtimal siz sütunu integer olarak çağırıyorsunuzdur, ama excelde bazı satırlar metin olabilir.
Cevap için tşk ederim.. Exceli db olarak ilk kez kullanıp veri çekmeye çalışıyorum, bu nedenle sql serverdan yada mysqlden veri çekerken asinteger gibi bişey yapmayı bilmiyorum bunda. o verdigim kodlarla çekiyorum, ki onuda netten buldum.. Satırlar yada metin yada genel oluyo, denedim genel yada metin yapıp ama sonuç aynı oldu. Bazıları geliyo bazıları gelmiyo çok garipsedim. aşagıdaki gibi bi sütun düşünün, sütunun formatı metin, ama şu gördügünüz ssayılar geliyor ancak L XL falan o harfler gelmiyor. Bazı yerdede alt alta sayı olmasına ragmen, sayılarda gelmeyebiliyor.. Excelden alırken istedigim bi formatta alabiliyormuyum ki?
  • 26
    27
    28
    29
    30
    31
    32
    36
    38
    40
    42
    44
    L
    M
    S
    XL
    XS
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Excelden Veri Çekerken Sütünlarda Eksik Veriler..

Mesaj gönderen mkysoft »

Ado yerine verileri Excel üzerinden çekmeyi deneyin isterseniz. SQL olayını kullandığınızdan dolayı sütunda farklı tipte veriler olması sorun yaratıryor demekki.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Excelden Veri Çekerken Sütünlarda Eksik Veriler..

Mesaj gönderen sabanakman »

Bu sorunla ben de karşılaşıp o sütun üzerinden çözememiştim. Fakat, Excel'de metin fonksiyonu olarak BİRLEŞTİR fonksiyonu bulunmaktadır. İlgili sütunu başka bir sütuna bu fonksiyonla kopya alarak o sütunu okursanız mesele çözülecektir. Mesela B sütununu alacaksanız ve 2. satırdan itibaren değer okuma işlemi olacaksa. B sütununun kopyasını boş olan F sütununa alalım. F2 hücresine

Kod: Tümünü seç

=BİRLEŞTİR(B2)
yazarsanız ve bunu tüm satırlar için tekrarlarsanız F sütunundan değer okumada sorun yaşamazsınız.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla