PDA

View Full Version : پيمايش ركوردهاي جدول



lovelygirl
یک شنبه 17 آبان 1388, 10:50 صبح
من يه جدول تو اكسس دارم كه ميخوام تو دلفي چندتا دكمه بزارم كه اين جدول رو پيمايش كنه يعني همون دكمه هاي next privuse ميدونم كه بايد eof bof رو بزنم اما نميدونم چرا همون سطر اول ميمونه حركت نميكنه چيكار بايد بكنم؟ميشه دوستان كمكم كنن؟

Pr0grammer
یک شنبه 17 آبان 1388, 10:58 صبح
اولین رکورد :

DBGrid1.DataSource.DataSet.First;رکورد قبلی:

DBGrid1.DataSource.DataSet.Prior;رکورد بعدی :

DBGrid1.DataSource.DataSet.Next;آخرین رکورد :

DBGrid1.DataSource.DataSet.Last;

lovelygirl
یک شنبه 17 آبان 1388, 11:20 صبح
اولین رکورد :

DBGrid1.DataSource.DataSet.First;رکورد قبلی:

DBGrid1.DataSource.DataSet.Prior;رکورد بعدی :

DBGrid1.DataSource.DataSet.Next;آخرین رکورد :

DBGrid1.DataSource.DataSet.Last;
آخه من كه با گريدها كار نميكنم كه
من تو فرمم يه سري مثلا Dbedit radio button comnbo دارم ميخوام اطلاعاتم اونجا بياد نه تو گريدها
مرسي رفيق:لبخندساده:

Tiam121
یک شنبه 17 آبان 1388, 11:31 صبح
سلام
خوب شما بعد از اينكه next و... را انجام داديد مقدار فيلد مربوطه رو به edit يا هر چيز ديگه اي مي تونيد نسبت بديد
edit1.text:=fieldvalues['fieldname'];

Pr0grammer
یک شنبه 17 آبان 1388, 11:40 صبح
آخه من كه با گريدها كار نميكنم كه
من تو فرمم يه سري مثلا Dbedit radio button comnbo دارم ميخوام اطلاعاتم اونجا بياد نه تو گريدها

از شئ DataSource و این کد استفاده کنید :

DataSource1.DataSet.Next;

حسین شهریاری
یک شنبه 17 آبان 1388, 12:03 عصر
سلام

دوستمون جناب programer حق دارن!!
متدهای پیمایش رکوردهای جدول ربطی بهdbgrid که نداره!!
گرید هم یه کامپوننت نمایشه مثل سایرین که به دیتا ست متصل میشه.
شما وقتی از متدها استفاده میکنید این دیتاست هستش که تحریک میشه و کامپوننتها فقط اطلاعات رکورد جاری را نمایش میدن.

lovelygirl
یک شنبه 17 آبان 1388, 13:26 عصر
از شئ DataSource و این کد استفاده کنید :

DataSource1.DataSet.Next;
يعني فقط همين كد رو بنويسم؟همين رو نوشتم پيغام خطا ميده اصلا اجرا نميشه

Pr0grammer
یک شنبه 17 آبان 1388, 14:18 عصر
این نمونه رو نگاه کنید، مشکلتون حل میشه.

lovelygirl
یک شنبه 17 آبان 1388, 14:33 عصر
این نمونه رو نگاه کنید، مشکلتون حل میشه.
برنامه شما درست كار ميكنه اما واسه من نه
نميدونم چي ميگه آخه من همون كد شما رو كپي كردم تو برنامه ام اما كار نميكنه:((

Pr0grammer
یک شنبه 17 آبان 1388, 16:33 عصر
چه پیغام میده؟ متن پیام رو بنویسید!

lovelygirl
یک شنبه 17 آبان 1388, 16:41 عصر
چه پیغام میده؟ متن پیام رو بنویسید!
ميگه كه dataset بستس
open هم كردم پيغام خطاش رفت اما هيچي نمياره:ناراحت:

aradsystem
یک شنبه 17 آبان 1388, 19:20 عصر
ميگه كه dataset بستس
open هم كردم پيغام خطاش رفت اما هيچي نمياره:ناراحت:

یک نمونه از سورس همین برنامه رو بزارید ببینیم مشکلش چیه.

lovelygirl
دوشنبه 18 آبان 1388, 09:18 صبح
یک نمونه از سورس همین برنامه رو بزارید ببینیم مشکلش چیه.
دوست عزيزم من برنامه ام رو كلا با adoquery نوشتم الان هم پيغام خطا رفت اما هيچي نشون داده نميشه فقط چند بار كه مثلا رو دكمه next ميزنم انگار ميرسه اول فايل پيغام ميده Top of file اما همه فيلدام خاليه هيچي توشون نمياد
ميشه راهنمايي كنيد
adoquery2.Open;
if adoquery2.Eof=false then
adoquery2.Next
else
messagedlg('end of file' ,mtinformation,[mbok],0);

حسین شهریاری
دوشنبه 18 آبان 1388, 10:49 صبح
سلام

دوست عزیز موقتا دستورات کنترلی را بردارید ببینید حل میشه یا نه؟
هر اتفاقی پیش اومد اینجا بنویس.
یعنی فقط دستور اصلی باشه:

adotable.next

benyaminrahimi
جمعه 22 آبان 1388, 20:27 عصر
همگی خسته نباشید
خانم شما یک dbnavigator بزار
بعد بچسبونش به data source خیال همرو راحت کن:قهقهه:

دلفــي
یک شنبه 24 آبان 1388, 15:44 عصر
شما می تونید برای پیمایش رکوردها از RecNo استفاده کنید ، مثلا برای رفتن از رکورد اول تا رکورد آخر می تونید از دستورات زیر استفاده کنید :



Adoquery1.Active := True;
for i := 1 to Adoquery1.RecordCount do
begin
Adoquery1.RecNo := i;
{ اینجا عملیاتی را که قصد دارید روی رکورد انجام دهید
را بنویسید}
end;