Access - eliminar tabla

   
Vista:

eliminar tabla

Publicado por Arturo JA (8 intervenciones) el 14/05/2010 23:16:22
Saludos.

me pueden apoyar de favor con la siguiente pregunta:
como puedo eliminar una tabla dese un formulario con un boton, al momento de dar click en el boton me informe si la tabla existe o no existe.

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:eliminar tabla

Publicado por mi menda (1111 intervenciones) el 15/05/2010 04:01:35
Hola:
Puedes saber sí existe una tabla provocando un error:

Private Sub cmdEliminarTabla_Click()
On Error GoTo EliminarTabla

If existeTabla("Tabla1") Then
If MsgBox("Desea eliminar la Tabla", _
vbCritical + vbYesNo + vbDefaultButton2, _
"Eliminación") = vbYes Then
'Puedes eliminar la tabla de estas 2 formas
'DoCmd.DeleteObject acTable, "Tabla1"
CurrentDb.Execute "DROP TABLE Tabla1"
End If
End If

On Error GoTo 0
Exit Sub

EliminarTabla:
MsgBox Err.Description, vbCritical, "Error Nº: " & Err.Number
End Sub


Function existeTabla(strTabla As String) As Boolean

On Error GoTo existeTabla

If DCount("*", strTabla) > -1 Then
MsgBox "La Tabla " & strTabla & " existe"
End If

existeTabla = -1

On Error GoTo 0
Exit Function

existeTabla:
If Err.Number = 3078 Then
MsgBox "La tabla " & strTabla & " no existe"
existeTabla = 0
End If
End Function

Supongo que con DAO se puede hacer mejor, pero lo domino poco.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:eliminar tabla

Publicado por mi menda (1111 intervenciones) el 17/05/2010 06:27:11
Hola:
Mucho mejor utilizando la colección AllTables

Private Sub cmdEliminarTabla_Click()

If existeTabla("Tabla1") Then
If MsgBox("Realmente quiere eliminar la tabla", _
vbCritical + vbYesNo + vbDefaultButton2, _
"Eliminación") = vbYes Then

DoCmd.DeleteObject acTable, "Tabla1"
End If

Else
MsgBox "La tabla NO existe"
End If

End Sub

Function existeTabla(strTabla As String) As Boolean
Dim obj As AccessObject
Dim db As Object

Set db = Application.CurrentData

For Each obj In dbs.AllTables
If obj.Name = strTabla Then
existeTabla = -1
Exit Function
End If
Next

existeTabla = 0
Set db = Nothing
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar