Cómo eliminar una tabla de una base de datos con Visual Basic

24 marzo, 2008 por Mr. FotoPex Dejar una respuesta »

 

 

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

Visual Basic:
  1. Function BorraTablaTemp()
  2.  
  3.   Dim DataBaseName, TableName As String
  4.   Dim DB As Database, t As TableDef
  5.   Dim TableExists As Boolean
  6.  
  7.   DataBaseName = App.Path & "\data.mdb"
  8.   TableName = "tmpTabla"
  9.  
  10.   On Error GoTo errorhandler
  11.   Set DB = Workspaces(0).OpenDatabase(DataBaseName)
  12.   On Error Resume Next
  13.  
  14.   Set t = DB.TableDefs(TableName)
  15.   TableExists = Err.Number = 0
  16.  
  17.   If TableExists Then
  18.     DB.Execute "Drop Table " & TableName
  19.   End If
  20.  
  21.   DB.Close
  22.  
  23.   Exit Function
  24.  
  25. errorhandler:
  26.  
  27.   Err.Raise Err.Number
  28.   Exit Function
  29.  
  30. End Function

Segundo Ejemplo:
hacemos una copia de la base de datos para borrar la tabla del ejemplo.

Visual Basic:
  1. Function BorraTablaTemp()
  2.   Dim sourcedb  as string
  3.   Dim destdb as string
  4.  
  5.   On Error Resume Next
  6.   sourcedb = "c:\VB3\BIBLIO.MDB"  ' Base Original
  7.   destdb = "C:\TEST.MDB"     ' Base que utilizaremos para el ejemplo
  8.   FileCopy sourcedb, destdb  ' Hacemos la copia
  9.  
  10.   Dim db As Connection
  11.   Set db = New Connection
  12.   db.CursorLocation = adUseClient
  13.   db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & destdb & ";"
  14.   db.Execute "Drop Table tmpTabla"
  15. End Function

Tercer Ejemplo:
Genera un Recordset y recorre tabla por tabla hasta encontrar la que deseamos borrar.

Visual Basic:
  1. Function BorraTablaTemp()
  2.     Dim cn As New ADODB.Connection
  3.     Dim rs As ADODB.Recordset
  4.     Dim sql As String
  5.    
  6.     cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & "Persist Security Info=False;" & _
  7.         "Data Source=" & App.Path & "\data.mdb"
  8.  
  9.     Set rs = cn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE"))
  10.     Do While Not rs.EOF
  11.         If rs!TABLE_NAME = "tmpTabla" Then
  12.             sql = "DROP TABLE " & rs!TABLE_NAME
  13.             cn.Execute sql, , adCmdText
  14.             Exit Do
  15.         End If
  16.         rs.MoveNext
  17.     Loop
  18. End Function

Publicidad

Deja un comentario