PDA

View Full Version : سوال: پاک کردن همه رکورد های جدول Access



m2011kh
جمعه 04 مرداد 1392, 17:19 عصر
سلام و خسته نباشید خدمت همه دوستان و اساتید محترم.

من یه جدول دارم که اطلاعاتی رو درون اون میریزم و به ریپورت میفرستم و بعدش میخوام همه رکورد ها رو پاک کنم یعنی جدول رو خالی کنم.

من این کد رو برای این کار نوشتم:
Adodc2.Recordset.MoveFirst
For i = 0 To (Adodc2.Recordset.RecordCount - 1)
Adodc2.Recordset.Delete
Adodc2.Recordset.Move (i + 1)
Adodc2.Refresh
Next i

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

موفق و سربلند باشید.

MMD

m.4.r.m
جمعه 04 مرداد 1392, 18:27 عصر
Adodc2.Recordset.MoveFirst
For i = 1 To (Adodc2.Recordset.RecordCount
Adodc2.Recordset.Delete
Adodc2.Recordset.movenext
Next i

m2011kh
جمعه 04 مرداد 1392, 18:52 عصر
انجام داد ولی رکورد آخر همچنان حذف نشده باقی مون.

راستی یه سوال دیگه این که این کد رو دقیا بعد از ست کردن Report.Datasource به Adodc2 هست و ریپورت خالی از اطلاعات نشون میده .

موفق و سربلند باشید.

MMD

m.4.r.m
شنبه 05 مرداد 1392, 17:30 عصر
باید پاک کنه من خودم از این کد زیاد استفاده کردم با یه شرط دیگه پاک کن ببین درست میشه

do until adodc1.recordset.recordcount=0

adodc1.recordset.delete

loop

m2011kh
شنبه 05 مرداد 1392, 21:03 عصر
سلام و خسته نباشید.

اون مشکل حل شد البته این کد رو اینطور ویرایش کردم:

Public Function DeleteRecords() As Boolean
Do Until Adodc2.Recordset.RecordCount = 0
Adodc2.Recordset.Delete
Adodc2.Recordset.MoveNext
Loop
Adodc2.Refresh
Adodc2.Recordset.Delete
Adodc2.Refresh
Adodc2.Recordset.Delete
Adodc2.Refresh
End Function


موفق و سربلند باشید.

MMD

محسن واژدی
یک شنبه 06 مرداد 1392, 11:23 صبح
سلام علیکم
از query زیر استفاده کنید:
DELETE * FROM table_name

موفق باشید

m2011kh
یک شنبه 06 مرداد 1392, 15:02 عصر
امتحان کردم متنها این با این خطا مواجه شدم :




Syntax Error in From Clause

موفق و سربلند باشید.

MMD

محسن واژدی
یک شنبه 06 مرداد 1392, 18:18 عصر
امتحان کردم متنها این با این خطا مواجه شدم :


بعد از چک query، چک کنید CommandType بر روی Table نباشه، یا دستور زیر قبل از RecordSource اجرا کنید:
Adodc1.CommandType = adCmdText

موفق باشید

m2011kh
یک شنبه 06 مرداد 1392, 21:49 عصر
انجام دادم و جدول رو خالی کرد و اینم کد کاملم:

Public Function DeleteRecords() As Boolean
Adodc2.CommandType = adCmdText
Adodc2.RecordSource = "DELETE * FROM Rep"
ProgRep.Value = 0
ProgRep.Min = 0
ProgRep.Max = 1
Adodc2.Refresh
End Function


منتها رو خط Adodc1.Refresh گیر میده.

البته قبلش این پیامو میده:


Operation is Not Allowed When The object is Closed
واقعا مشتری منتظره و کل پروژه لنگ همینه:منتظر راهنمایی هاتون هستم.

MMD

m.4.r.m
دوشنبه 07 مرداد 1392, 19:08 عصر
نگو جواب نمیده که اصلا راه نداره چون من خودم الان این کد رو تست کردم بدون هیچ خطایی برای فرستادم اگه مشکل داشتی مشکل از کد نویسی خودت باید باشه

Private Sub Command1_Click()
For i = 1 To Adodc1.Recordset.RecordCount
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
Next i
End Sub

m2011kh
سه شنبه 08 مرداد 1392, 17:32 عصر
سلام.
البته من هم نگفتم نمیشه.با کد قبلی مشکلم حل شد امّا انجام همین کار با کد SQL کمی به نظر من راه بهتری باشه.به همین دلیل راه آقا واژدی رو امتحان کردم و به خطاهای پست 9 برخوردم.

موفق و سربلند باشید.

MMD