Pessoal antes de mais obrigado pelo forum.
Tenho a seguinte preocupação: pretendo criar um codigo que elimine da minha base de dados todas as tabelas, desde que não são tabelas dos sistema.
O que tenho até agora e tem funcionado é uma função com com o comando DoCmd.DeleteObject acTable, "NOMETABELA". Mas dessa forma tenho um pequenito problema, que é cada vez que crio uma tabela tenho que voltar ao código e escrever a linha para eliminar a nova tabela.
Já tentei o seguinte mas não funciona:
Function EliminarTabelas()
DoCmd.SetWarnings False
Dim myTable As Variant
For Each myTable In Application.CurrentData.AllTables
If Not (myTable.Name Like "Msys*") Or Not (myTable.Name Like "*1") Then
DoCmd.DeleteObject , acTable, "myTable"
Else
MsgBox "Correcção de fecho efectuada com sucesso!", vbInformation, ""
End If
Next myTable
End Function
E
Function EliminarTabelas()
DoCmd.SetWarnings False
Dim myTable As Variant
For Each myTable In Application.CurrentData.AllTables
If Not (myTable.Name Like "Msys*") Or Not (myTable.Name Like "*1") Then
Application.DoCmd.RunSQL "drop table myTable;", -1
Else
MsgBox "Correcção de fecho efectuada com sucesso!", vbInformation, ""
End If
Next myTable
End Function
Por favor alguem me ajude!
Tenho a seguinte preocupação: pretendo criar um codigo que elimine da minha base de dados todas as tabelas, desde que não são tabelas dos sistema.
O que tenho até agora e tem funcionado é uma função com com o comando DoCmd.DeleteObject acTable, "NOMETABELA". Mas dessa forma tenho um pequenito problema, que é cada vez que crio uma tabela tenho que voltar ao código e escrever a linha para eliminar a nova tabela.
Já tentei o seguinte mas não funciona:
Function EliminarTabelas()
DoCmd.SetWarnings False
Dim myTable As Variant
For Each myTable In Application.CurrentData.AllTables
If Not (myTable.Name Like "Msys*") Or Not (myTable.Name Like "*1") Then
DoCmd.DeleteObject , acTable, "myTable"
Else
MsgBox "Correcção de fecho efectuada com sucesso!", vbInformation, ""
End If
Next myTable
End Function
E
Function EliminarTabelas()
DoCmd.SetWarnings False
Dim myTable As Variant
For Each myTable In Application.CurrentData.AllTables
If Not (myTable.Name Like "Msys*") Or Not (myTable.Name Like "*1") Then
Application.DoCmd.RunSQL "drop table myTable;", -1
Else
MsgBox "Correcção de fecho efectuada com sucesso!", vbInformation, ""
End If
Next myTable
End Function
Por favor alguem me ajude!