سوال در مورد یه مشکل تو ویژوال بیسیک 6

با سلام خدمت دوستان عزيز
من برای ارتباط با دیتا بیس ازdata استفاده کردم
حالا برای جستجو لازم دارم که در حال جستجو چندسن بار دیتا بیس رو خالی کنم
از دستور زیر استفاده می کنم ولی به خاطر سرعت زیاد پردازس اطلاعات، سیستم نمیتونه تعداد رکوردهای توی دیتا بیس رو سریع بر گردونه
یعنی وقتی دارم برنامه رو چک می کنم data1.recordset.recordcount رو برابر 1 در نظر میگیره در صورتی که خیلی بیشتره و بعد از چند ثانیه اگه دوباره موس رو روی data1.recordset.recordcount بزارم عدد درست رو نشون میده بخاطر همین موضوع نمیتونه دیتا بیس رو کامل پاک کنه
به نظر شما چجوری میتونم این مشکل رو حل کنم؟
با loop هم جواب نمیده .با msgbox این مشکل حل میشه ولی خوب زیاد هم نمیشه تو برنامه رواعصاب کاربر راه رفت!!!:razz:
 

siamakUK

New Member
اول باید به انتهای دیتاست بری

data1.recordset.movelast
intrec=data1.recordcount
برای خالی کردن جدول هم :
"delete from table name"
 

siamakUK

New Member
و اما خط آخرش

اگر با حلقه بخوای محتویات جدول را حذف کنی زمان زیاد میبره و اگه جدول خیلی بزرگ باشه
ممکن ارور بده برای همین میتونی از دستور دیلیت برای حذف محتویات یک جدول استفاده کنی
یعنی بنویسی:

"delete from table1"
واگه بخوای رکوردهای خاصی رو حذف کنی:

"delete from table1 where field =value"
که table1 نام جدولو field هم نام فیلد مربوطه هست.
البته من اگه این قسمت کد شما رو ببینم بهتر میتونم توضیح بدم.
در ضمن بعد از روالهای data1 حتما refresh یادت نره
موفق باشی
 

Parthia

Member
منم یه بار به این مشکل برخوردم داشتم یه دفترچه تلفن مینوشتم که اینطوری شدم ولی یه کم فکر کردم از این راه رفتم درست شد اگه میخوای شما هم از این راه برو خوبه جواب میده :
کد:
If RS.RecordCount > 0 Then
RS.Delete
Call DeleteDB
Else
MsgBox "DataBase Informations Deleted"
End If
این کدها بخاطر این کار میکنه که نشانگر هر جا باشه بلاخره اگر یه فیلد هم وجود داشته باشه تابع حداقل یک رو بر میگردونه
همیشه وقتی پای اجبار در بین باشه ابتکار بیشتر میشه
 

جدیدترین ارسال ها

بالا