PDA

View Full Version : شمارش رکورد و رکورد جاری



spicirmkh
جمعه 03 بهمن 1382, 12:22 عصر
سلام

برنامه نوشتم که تعداد رکورد و رکورد جاری نمایش می دهد بصورت زیر


Lall.Caption := intTostr(DBISAMQuery1.RecordCount);
Lselect.Caption := '/ '+intTostr(DBISAMQuery1.RecNo);


اما وقتی Query تغییر می دهم و شرطی می گذارم تعداد رکورد درست است اما رکور جاری همان رکورد اصلی فایل می باشد مثل 160 / 20 که 20 تعداد رکورد و 160 شماره رکورد است
که می خواهم شماره رکورد را معادل تعداد رکورد و query جدید باشد نه قبلی

متشکرم
مرتضی

moradi_am
جمعه 03 بهمن 1382, 13:46 عصر
احتمالا label را refresh نمیکنید . با refresh درست میشود .

SReza1
جمعه 03 بهمن 1382, 20:36 عصر
نه این مشکل با refresh حل نمیشه!! منم این مشکلو داشتم.
فکر کنم شما از فیلتر استفاده میکنی! اگر query string رو تغییر بدی درست میشه!!

spicirmkh
پنج شنبه 09 بهمن 1382, 09:33 صبح
از فیلتر استفاده نمی کنم و query مجددا درست می کنم اما رکورد جاری رکورد بانک قرار می دهد

و هر وقت query می سازم lable را referesh می کنم من فکر مکنم Query توی حافظه پاک نشده یا بسته نشده از دستور زیر استفاده می کنم




DBISAMQuery1.Refresh ;

with DBISAMQuery1 do
begin
Close;
SQL.Clear ;
SQL.add ('SELECT *');
SQL.add ('FROM data\Mcompanay ');
SQL.add ('WHERE NameCo Like ' + QuotedStr('%'+Trim(Sname.Text)+'%'));
SQL.add ('ORDER BY NameCo ');
Open ;
end;

Lall.Caption := intTostr(DBISAMQuery1.RecordCount);
Lselect.Caption := '/ '+intTostr(DBISAMQuery1.RecNo);




متشکرم مرتضی

baabi
پنج شنبه 09 بهمن 1382, 12:54 عصر
به نظر من باید اینکار جواب بده ... اما یه راه حل دیگه هم هست.
میتونی در select از runsum :idea: استفاده کنی که یه فیلد بهت میده و اون فیلد همون شماره رکورد خواهد بود...


select name , tel ,..... , runsum(1) as recno
from mcompany

ولی خوب باز هم فکر کنم که همون روش خودت باید جواب بده. :roll: