PDA

View Full Version : سوال: کدی برای حذف جدول یا هر ابجکت دیگری



MOR_MS
یک شنبه 03 آبان 1388, 17:45 عصر
باسلا و خسته نباشید
می خواستم ببینم چطوری می شود با نوشتن کد کل جدولها یا فرمها وغیره را حذف کرد
متشکرم :متفکر:

saied_genius
یک شنبه 03 آبان 1388, 18:27 عصر
Function deletealltables()
Dim objtable As TableDef
For Each objtable In CurrentDb.TableDefs
If Not Left(objtable.Name, 4) = "MSys" Then
CurrentDb.TableDefs.Delete (objtable.Name)
End If
Next
End Function


Function deleteallforms()
Dim db As Database
Dim objform As Object
Set db = CurrentDb
For Each objform In db.Containers("Forms").Documents
DoCmd.DeleteObject acForm, objform.Name
Next
End Function

Sub delAllForms()
Dim d As Document
Dim c As Container
Dim db As DAO.Database, i
Set db = CurrentDb
On Error Resume Next
Set c = db.Containers("Forms")
For Each d In c.Documents

DoCmd.DeleteObject acForm, d.Name
Next d


End Sub

MOR_MS
یک شنبه 03 آبان 1388, 23:10 عصر
باسلام دست شما درد نکند ولی همه جدولها راپاک نمی کند فرمها را که اصلاً پاک نمی کند
من می خواهم همچیز پاک شود گزارشات ماکرو فقط کواری هارا خوب پاک میکند روی بعضی جدولها ارور می دهداگر ممکنه یکمی بیشتر توضیح بدین ممنون می شوم

saied_genius
دوشنبه 04 آبان 1388, 06:11 صبح
سلام

اين رو امتحان کنيد:


Sub delAllQ()
Dim db As DAO.Database, i
Set db = CurrentDb
For i = 0 To db.QueryDefs.Count - 1
DoCmd.DeleteObject acQuery, db.QueryDefs(i).Name
Next i

End Sub

saied_genius
دوشنبه 04 آبان 1388, 06:15 صبح
از اين هم براي پاک کردن فرم ها استفاده کن:


Sub delAllForms()
Dim d As Document
Dim c As Container
Dim db As DAO.Database, i
Set db = CurrentDb
On Error Resume Next
Set c = db.Containers("Forms")
For Each d In c.Documents

DoCmd.DeleteObject acForm, d.Name
Next d


End Sub

البته فکر کنم بايد از vb اجرا بشوند.

نمي دانم از خود access جواب مي دهند يا نه.

saied_genius
دوشنبه 04 آبان 1388, 06:19 صبح
ظاهراً در هر صورت شما بايد از محيط برنامه نويسي اين کار ها را انجام دهيد.

اگر برنامه نويس هستيد ، بگيد با چه زباني مي نويسيد تا بتوانم بهتر راهنمايي کنم.

موفق باشيد.

MOR_MS
دوشنبه 04 آبان 1388, 17:58 عصر
fباسلام و خسته نبشید
راستش من فقط با همین اکسس کار می کنم
کدی که فرستادی فقط جدولهای را پاک می کند که بین انها رابه ای وجود نداشته باشد ولی جدولهای من دارای رابه های زیادی باهم هستند اکر بشود قبل از پاک کردن رابطه هارا شکست فکر کنم بقیه کار ها اسان شود

saied_genius
دوشنبه 04 آبان 1388, 19:17 عصر
من راهي به ذهنم نمي رسد.

فکر مي کنم بهترين راه حذف relation ها به صورت دستي و حذف فرم ها با function که دادم.

اميدوارم دوستان ديگه بتونن کمکتون کنند.

موفق باشيد.

amirzazadeh
سه شنبه 05 آبان 1388, 08:45 صبح
fباسلام و خسته نبشید
راستش من فقط با همین اکسس کار می کنم
کدی که فرستادی فقط جدولهای را پاک می کند که بین انها رابه ای وجود نداشته باشد ولی جدولهای من دارای رابه های زیادی باهم هستند اکر بشود قبل از پاک کردن رابطه هارا شکست فکر کنم بقیه کار ها اسان شود
دوست عزيز براي حذف رابطه بين جداول ميتونين از اين كد استفاده كنين.(نام جداول بدون فاصله و پشت سر هم)

CurrentDb.Relations.Delete ("Table1nameTable2name")
...........................................
موفق باشيد