PDA

View Full Version : جلو عقب کردن رکوردهای دیتابیس اکسس در ویبی



rezasafdari
سه شنبه 14 شهریور 1385, 17:25 عصر
آقایون و خانومهای صاحب نظر بیان جلو :لبخند:
میخوام یک کاری کنم که رکوردهای بانک اطلاعاتیم که با هرکدوم از فیلدهاشون رو با یه تکست باکس ست کردم توی اونا جلو عقب بشن اولین رکورد و آخرین رو خوب انجام میده ولی با بقیه یکم مشکل داره کدی که برای جلو بردن استفاده کردم اینه :

On Error Resume Next
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MovePrevious
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Adodc1.Refresh
Else
Adodc1.Recordset.MoveNext
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Adodc1.Refresh
End If
و برای عقب بردن از کد زیر استفاده کردم :

On Error Resume Next
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveNext
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Adodc1.Refresh
Else
Adodc1.Recordset.MovePrevious
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Adodc1.Refresh
End If
خداییش هر کی یه کمکی کنه رو تا آخر برنامه دعا میکنم :لبخند:
یا علی:تشویق:

محسن بابائی
چهارشنبه 15 شهریور 1385, 04:58 صبح
On Error Resume Next
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveNext
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Adodc1.Refresh
Else
Adodc1.Recordset.MovePrevious
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Adodc1.Refresh
End If
خداییش هر کی یه کمکی کنه رو تا آخر برنامه دعا میکنم :لبخند:
یا علی:تشویق:
شما توی خط اول گفتید وقتی رسید به آخر رکورد را یکی ببر جلو خب به نظر شما این درسته .

rezasafdari
چهارشنبه 15 شهریور 1385, 09:14 صبح
شما توی خط اول گفتید وقتی رسید به آخر رکورد را یکی ببر جلو خب به نظر شما این درسته .
نمیدونم والا منم همین رو از شما پرسیدم آقای بابایی به نظر شما باید چطوری باشه مگه؟!:متفکر:

yavari
پنج شنبه 16 شهریور 1385, 15:49 عصر
سلام

دوست من ، راه اینه که شما رکورد جاری یا اولی رو بریزین تو تکستا !
بعد تا زمانی که به EOF نرسیدین Adodc1.Recordset.MoveNextبشه با هر کلیکی !
برا برگشت هم الگوریتم کار مشخصه !
شما کدو برعکس نوشتین ، گفتین وقتی رسید آخر برو بعدی ، نمیشه که !
با این حال میگردم یه سمپل داشتم میذارم !

موفق باشید

Sir.V65j
پنج شنبه 16 شهریور 1385, 22:17 عصر
فکر کنم اولی اینجور جواب بده


On Error Resume Next
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MovePrevious
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Adodc1.Refresh
Else
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Adodc1.Refresh


End If
البته این وقتی به آخرین رکورد رسید نکست رو بزنی باز همون رو نشون میده . اگه بخوای برگرده به اولی خودت می دونی چیکار کنی ( تو دستور شرطی میاری به اولین رکورد) امیدوارم موفق باشین

rezasafdari
جمعه 17 شهریور 1385, 17:37 عصر
جناب Sir.V65j کد شما عمل نکرد و در مورد نظر آقای یاوری دارم روش کار میکنم اگر شد همینجا اعلام میکنم اما شما هم اگر سمپلی چیزی داشتید دریغ نکنید!
یا علی و ممنون از کمک هر 3 شما عزیزان

rezasafdari
جمعه 17 شهریور 1385, 17:49 عصر
ایییییییییییییییووووووووو ووووول دمت درست مستر یاوری دستت درد نکنه!!!
خیلی چاکرم کار کرد!
یا علی

rezasafdari
جمعه 17 شهریور 1385, 17:57 عصر
کار میکنه فقط یه مشکل داره وقتی مثلا 3 تا رکورد داریم 4 بار که میزنیم بره جلو دیگه بر نمیگرده عقب در صورتی که اگه 3 تا رکورد داشته باشیم و 3 بار بزنیم هم عقب میره و هم جلو!!!
کد رو اینطوری تغییر دادم :


کلید عقب برنده:
On Error Resume Next
If Adodc1.Recordset.EOF = False Then
Adodc1.Recordset.MovePrevious
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Else
Adodc1.Recordset.MoveNext
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
End If
کلید رو به جلو:
On Error Resume Next
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MovePrevious
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
Else
Adodc1.Recordset.MoveNext
XPText1.Text = Adodc1.Recordset.Fields(0)
XPText2.Text = Adodc1.Recordset.Fields(1)
XPText3.Text = Adodc1.Recordset.Fields(2)
XPText4.Text = Adodc1.Recordset.Fields(3)
XPText5.Text = Adodc1.Recordset.Fields(4)
XPText6.Text = Adodc1.Recordset.Fields(5)
XPText7.Text = Adodc1.Recordset.Fields(6)
XPText8.Text = Adodc1.Recordset.Fields(7)
XPText9.Text = Adodc1.Recordset.Fields(8)
XPText10.Text = Adodc1.Recordset.Fields(9)
XPText11.Text = Adodc1.Recordset.Fields(10)
End If

آقای یاوری به نظرت مشکلش کجاست؟؟!!

yavari
یک شنبه 19 شهریور 1385, 09:34 صبح
سلام

خب عزیز من ، بازم اشتباه کردی !

ببین آقا رضا ، شما برا کلید برگشت باید حواست به BOF باشه تا اینکه بفهمی کی میرسه اولین رکورد و برا پیشروی باید EOF رو داشته باشی !

یه سمپل کلی میذارم ، نیگاه بنداز ببین تا چه حد کمکت می کنه ! :چشمک:

موفق باشید

rezasafdari
سه شنبه 21 شهریور 1385, 12:26 عصر
دست گلت درد نکنه جناب یاوری درست درست شد!!! دمت گرم..
یا علی