Sorgudan dönen eksik bilgi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Sorgudan dönen eksik bilgi

Mesaj gönderen Lord_Ares »

Veri tabanındaki bilgileri filitreleyerek, excel dosyasına atmak istiyorum. Bunun için şöyle bir tasarımım var. Kodu incelerseniz sevinirim.
(NoT : Tasarımımı table ile oluşturdum için hepsini kaldırıp Query kullanmak projeyi sıfırdan yazmak gibi olacağı için Sql istemiyorum )

1) stoklar Db
2)toptancılar.db
formuma bir adet DBLookupComboBox,dbgrid koydum, DBLookupComboBox toptancılar db ye bağladım.
stoklar db mi DBLookupComboBoxtaki seçili kayda göre filitreledim ( toptancı adı ahmet olan stokları gösterdi.)
filitreleyerek gösterdiğim bu kayıtları excele atarken şu kodu kullanıyorum.

Sorun , dbgiridte 3 kayıt görünürken excele 2 kayıt gönderiyor. Son kaydı hiçbir zaman göndermiyor.


if ANA.TSTOK.Filtered=true then begin
ANA.TSTOK.FindFirst;
FOR X:=2 TO ANA.TSTOK.RecordCount DO BEGIN

aktifcalismasayfasi.cells[x,1]:=ana.TSTOKTarih.AsDateTime;
aktifcalismasayfasi.cells[x,2]:=ana.TSTOKBarkodu.AsString;
aktifcalismasayfasi.cells[x,3]:=ana.TSTOKAdi.AsString;
aktifcalismasayfasi.cells[x,4]:=ana.TSTOKStokmiktari.AsCurrency;
aktifcalismasayfasi.cells[x,5]:=ana.TSTOKBirimi.AsString;
aktifcalismasayfasi.cells[x,6]:=ana.TSTOKCinsi.AsString;
aktifcalismasayfasi.cells[x,7]:=ana.TSTOKToptanci.AsString;
aktifcalismasayfasi.cells[x,8]:=ana.TSTOKSatfiyat.AsCurrency;
aktifcalismasayfasi.cells[x,9]:=ana.TSTOKAlisfiyat.AsCurrency;
aktifcalismasayfasi.cells[x,10]:=ana.TSTOKKdv.AsCurrency;
ANA.TSTOK.FindNext;
end;
end;

teşekkürler
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Sorgudan dönen eksik bilgi

Mesaj gönderen aslangeri »

s.a.
tabloda zaten filtreleme yapmışsınız.
findfirs yerine firs
findnext yerine next kullanıp deneyin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Sorgudan dönen eksik bilgi

Mesaj gönderen unicorn64 »

Kod: Tümünü seç

FOR X:=2 TO ANA.TSTOK.RecordCount DO BEGIN
excelde istediğniz yere yazdırabilmek için for döngüsüyle kayıtları aktarımışsınız ama döngü 2 den başladığından tüm kayıtları taramamış oluyorsunuz...

sayacı 1 den başlatıp

Kod: Tümünü seç

aktifcalismasayfasi.cells[x+1,1]
şeklinde kullanabilirsiniz...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Sorgudan dönen eksik bilgi

Mesaj gönderen Lord_Ares »

arkadaşlar çok teşekkürler, her ikinizin dediğinide yapınca düzeldi :)) birlikte çalışmak bu olsa gerek. çok sağolun
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Sorgudan dönen eksik bilgi

Mesaj gönderen aslangeri »

s.a.
döngüyü for ile kurduğunuzu farketmemiştim.
for ile kurduğunuz döngüde tablonun recno sunu set ederek gidin.
next diyerek gidecekseniz
while not tablo.eof do
döngüsünü kullanırsanız daha sağlıklı olur.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Sorgudan dönen eksik bilgi

Mesaj gönderen Lord_Ares »

çok teşekkürler güzel bir bilgi. Bu arada dblookupcombobox lar ne kadar uğraştırdı beni , ya tecrübesizliğimden kaynaklandı yada harbiden zor muş. Özür dileyerek şunu sormak istiyorum. dblookupcombobox textte şöyle bilgi atayamdım,

form1.dblookupcombox.text:=table1adi.asstring;

yani amacım stok kaydı değiştir tuşuna bastığında, değişecek stok bilgilerini edit1, dblookupcombobox doldurmak.
teşekkürler
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Sorgudan dönen eksik bilgi

Mesaj gönderen aslangeri »

s.a.
lookupcombo box da keyvalue yi set ederek görüntüyü değiştirebilrsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla