Cuando elimina una tabla, también se eliminan todos los datos almacenados en aquella tabla. Si desea conservar los datos de la tabla, va a eliminar, escribir una aplicación Visual Basic con la que copia los datos a una tabla nueva antes de eliminar la tabla existente.
Primer Ejemplo
-
Function BorraTablaTemp()
-
-
Dim DataBaseName, TableName As String
-
Dim DB As Database, t As TableDef
-
Dim TableExists As Boolean
-
-
DataBaseName = App.Path & "\data.mdb"
-
TableName = "tmpTabla"
-
-
On Error GoTo errorhandler
-
Set DB = Workspaces(0).OpenDatabase(DataBaseName)
-
On Error Resume Next
-
-
Set t = DB.TableDefs(TableName)
-
TableExists = Err.Number = 0
-
-
If TableExists Then
-
DB.Execute "Drop Table " & TableName
-
End If
-
-
DB.Close
-
-
Exit Function
-
-
errorhandler:
-
-
Err.Raise Err.Number
-
Exit Function
-
-
End Function
Segundo Ejemplo:
hacemos una copia de la base de datos para borrar la tabla del ejemplo.
-
Function BorraTablaTemp()
-
Dim sourcedb as string
-
Dim destdb as string
-
-
On Error Resume Next
-
sourcedb = "c:\VB3\BIBLIO.MDB" ' Base Original
-
destdb = "C:\TEST.MDB" ' Base que utilizaremos para el ejemplo
-
FileCopy sourcedb, destdb ' Hacemos la copia
-
-
Dim db As Connection
-
Set db = New Connection
-
db.CursorLocation = adUseClient
-
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & destdb & ";"
-
db.Execute "Drop Table tmpTabla"
-
End Function
Tercer Ejemplo:
Genera un Recordset y recorre tabla por tabla hasta encontrar la que deseamos borrar.
-
Function BorraTablaTemp()
-
Dim cn As New ADODB.Connection
-
Dim rs As ADODB.Recordset
-
Dim sql As String
-
-
cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & "Persist Security Info=False;" & _
-
"Data Source=" & App.Path & "\data.mdb"
-
-
Set rs = cn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE"))
-
Do While Not rs.EOF
-
If rs!TABLE_NAME = "tmpTabla" Then
-
sql = "DROP TABLE " & rs!TABLE_NAME
-
cn.Execute sql, , adCmdText
-
Exit Do
-
End If
-
rs.MoveNext
-
Loop
-
End Function

