AccessTr.neT
tüm tabloları tek bir düğme ile silme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: tüm tabloları tek bir düğme ile silme (/konu-tum-tablolari-tek-bir-dugme-ile-silme.html)



tüm tabloları tek bir düğme ile silme - karaayhan - 28/01/2013

tüm tabloları tek bir düğme ile silmek mümkün müdür ?
makro ile tek tek silmek yada delete ile silmek dışındaImg-grin


Cvp: tüm tabloları tek bir düğme ile silme - alpeki99 - 29/01/2013

Önce ilişkileri silmeniz için bir fonksiyon

Public Function tumIliskileriSil()
Dim db As Database ' Current DB
Dim rex As Relations ' Relations of currentDB.
Dim rel As Relation ' Relationship being deleted.
Dim iKt As Integer ' Count of relations deleted.
Dim sMsg As String ' MsgBox string.

Set db = CurrentDb()
Set rex = db.Relations

iKt = rex.Count

Do While rex.Count > 0
rex.Delete rex(0).Name
Loop

End Function

sonra tabloları temizlemek için fonksiyon

Public Function tumTablolariSil()
On Error GoTo Hata_Yakala

Dim vt As DAO.Database
Dim rst As DAO.Recordset
Dim tabloSorgu As String

Set vt = CurrentDb()

tabloSorgu = "SELECT MSysObjects.Name FROM MSysObjects " & "WHERE Left$([Name],1)<>'~' AND Left$([Name],4)<>'MSys' " & "AND MSysObjects.Type =1 ORDER BY MSysObjects.Name"

Set rst = vt.OpenRecordset(tabloSorgu)

If Not rst.EOF Then
rst.MoveFirst

Do Until rst.EOF
rst.MoveNext
tabloAdi = "DROP TABLE " & rst!Name
vt.Execute tabloAdi
Loop
End If

rst.Close

Set rst = Nothing

Hata_Yakala:
MsgBox Err.Description
Exit Function

End Function

bir butonun tıklanma olayında

tumIliskileriSil
tumTablolariSil



Cvp: tüm tabloları tek bir düğme ile silme - karaayhan - 29/01/2013

sayın elpeki99 oldu çalışıyor teşekkürler,
sonunda geçerli kayıt yok! uyarısı veriyor ve sadece bir tane tablo kalıyor neden olabilir sizce?


Cvp: tüm tabloları tek bir düğme ile silme - alpeki99 - 29/01/2013

Döngüde olmayan tablo ile ilgili işlem yapıldığından veriyor o hatayı. Düzeltilmesi çok basit olan bir şey ancak hızlıca ekleyeyim dediğim için detaylı incelememiştim. Vaktim olan bir gün bakmaya çalışırım.


Cvp: tüm tabloları tek bir düğme ile silme - karaayhan - 31/01/2013

teşekkürler sayın alpeki bekliyorum yeni cevabınızı kolay gelsin