سلام
تو برنامم که با بانک SQL هستش و دارم با دکمه ی Next بین رکورد های جدول جابجا میشم ، میخوام if رو طوری بنویسم که تا وقتی بره به رکورد بعدی که در رکورد آخر نباشه
چون در رکورد آخر اگر دستور movenext بدی ارور میده
نمیدونم چرا یادم نمیاد
ممنون
سلام
تو برنامم که با بانک SQL هستش و دارم با دکمه ی Next بین رکورد های جدول جابجا میشم ، میخوام if رو طوری بنویسم که تا وقتی بره به رکورد بعدی که در رکورد آخر نباشه
چون در رکورد آخر اگر دستور movenext بدی ارور میده
نمیدونم چرا یادم نمیاد
ممنون
If Data.Recordset.AbsolutePosition = Data.Recordset.RecordCount Then
'دستورات
End If
If Data1.Recordset.EOF = True then
Data1.Recordset.MoveFirst
End If
با اين وقتي كه ركورد به آخر برسه دوباره برميگرده اول.
دقیقاً درست می فرمایید ولی برای بنده مشکلاتی در کنترل بانک MDB 2000. رخ داد که دیگر همچین کاری ممکن نبود به این ترتیب که در رکورد های بیشتر از 802 به کد زیر ایراد می گرفت
If Data1.Recordset.EOF = True then
این واسه من شد تجربه تا دیگه از Eof و Bof استفاده نکنم
البته در مورد SQL نمی دونم شاید mdb 2000 مشکل داشت یا کنترل data ؟
نه من همین الان 1000 تا رکورد توی دیتابیس ایجاد مردم و این کد هم کاملا درست کار کرد.
در ضمن آقای alizanganeh کنترل دیتا یه خصوصیتی داره به اسم EOFaction گزینه هاش رو نگاه کن شاید به دردت بخوره.
آقا ممنون همین کد واسم عمل کرد
دمت گرم
البته با یکم تغییرات
چون من از کنترل استفاده نمکینم و از کد برای اتصال به بانک استفاده کردم ، و در general متغیری از نوی recordset برای پیمایش در بانک استفاده کردم ، پس به recordset در کد نیازی نیست و میشه :
If Data.AbsolutePosition = Data.RecordCount Then
'دستورات
End If
بازم ممنون
آقا یک مشکل
من از همین کد استفاده کردم
و بجای دستورات گفتم exit sub
وی بیرون if و بعدش کارهایی که قراره انجام بشه رو گفتم
ینی اگر شرط برقرار بود exit sub و اگر نبود کدهای بعد از if
ولی به ازای رکورد آخر اون کدها رو اجرا نمیکنه
ینی برای رکورد آخر exit sub اجرا میشه بجای اینگه شرط برقرار نشه
چه کنم؟
ممنون
مشكل از كدته. چون ركورد آخر EOF محسوب نميشه، كدت رو بزار تا بررسي بشه.
البته به نظر بنده به یک روش دگه هم میشه چک کرد بطور مثال اینطور ولی خودم شخصا هنوز چک نکردم
کد
Adodc1.Recordset.RecordCount
تعداد رکورد های دیتابیس رو میده
خب این کد برسی کن ببین جوابگو هست
Static i As Integer
i = i + 1
If i < Adodc1.Recordset.RecordCount Then
Adodc1.Recordset.MoveNext
Else
Exit Sub
End If
این جواب رو داده بودن دوست عزیزمونIf Not Rst.EOF Then Rst.MoveNext
خوب کاری نداره این دستور رو تو دکمه Next بزن دیگه ارور نمیده
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MovePrevious
End If