PARA SAMPER O MVALLEJOS AYUDA CON ESTE COGIGO
CON ESTE CODIGO ESTOY EXPORTANTO UNA TABALA EN DBF PARA UNA BASE DE DATOS ACCES, PERO AL CREAR LA TABLA EN LA BASE, ME DICE QUE SI YA HAY UNA TABLA CON ESE NOMBRE INSERTA UNA CON UN 1 O DOS ETC, REALMENTE LO QUE QUIERO ES QUE ME LA SOBRESCRIBA O QUE ME BOORE LA QUE ALLI ESTA.
Private Sub cmdImport_Click()
Dim oDatabase As Database
Dim cDatabase As String
Dim oAccess As Access.Application
Dim cTablaImportar As String
Dim cTablaEnAccess As String
cTablaImportar = "TablaExp" 'Maximo 8 Caracteres
cTablaEnAccess = "Usuarios"
cDatabase = "C:Archivo.mdb"
Set oAccess = New Access.Application
AQUI ES DONDE ESTA EL PROBLEMA'
Al importar la tabla, si el nombre ya existe en la base de datos
' de access, se le agregara 1 al nombre (2,3,4,... si existe previamente
' el nombre con el que se desea guardar la tabla)
Set oDatabase = oAccess.DBEngine.OpenDatabase(cDatabase, False, False, ";pwd=semper")
With oAccess
.OpenCurrentDatabase cDatabase, False
.DoCmd.TransferDatabase acImport, "dBase III", "A:", acTable, cTablaImportar, cTablaEnAccess, False, False
.CloseCurrentDatabase
End With
oDatabase.Close
Set oDatabase = Nothing
oAccess.Quit acQuitSaveNone
Set oAccess = Nothing
End Sub
EN LA BIBIOGRAFIA QUE HE LEIDO, ME DICE QUE CON EL COMANDO DROP TABLE SE ELIMINA UNA TABLA PERO NO TENGO IDEA DE COMO UTILIZAR ESTOS
SALUDOS
Private Sub cmdImport_Click()
Dim oDatabase As Database
Dim cDatabase As String
Dim oAccess As Access.Application
Dim cTablaImportar As String
Dim cTablaEnAccess As String
cTablaImportar = "TablaExp" 'Maximo 8 Caracteres
cTablaEnAccess = "Usuarios"
cDatabase = "C:Archivo.mdb"
Set oAccess = New Access.Application
AQUI ES DONDE ESTA EL PROBLEMA'
Al importar la tabla, si el nombre ya existe en la base de datos
' de access, se le agregara 1 al nombre (2,3,4,... si existe previamente
' el nombre con el que se desea guardar la tabla)
Set oDatabase = oAccess.DBEngine.OpenDatabase(cDatabase, False, False, ";pwd=semper")
With oAccess
.OpenCurrentDatabase cDatabase, False
.DoCmd.TransferDatabase acImport, "dBase III", "A:", acTable, cTablaImportar, cTablaEnAccess, False, False
.CloseCurrentDatabase
End With
oDatabase.Close
Set oDatabase = Nothing
oAccess.Quit acQuitSaveNone
Set oAccess = Nothing
End Sub
EN LA BIBIOGRAFIA QUE HE LEIDO, ME DICE QUE CON EL COMANDO DROP TABLE SE ELIMINA UNA TABLA PERO NO TENGO IDEA DE COMO UTILIZAR ESTOS
SALUDOS
Dradrana
Antes de crear una tabla, debes eliminarla si esta existe, si estàs trabajando con DAO como me parece, se hace un poco más fácil, que que el objeto Database posee la colecciòn TableDefs que te permite saber si la tabla ya existe
Fijate esto
Despuès del Opendatabase, inserta este còdigo
Dim i as Integer
Dim Existe as Boolean
Existe = False
For i = 0 oDatabase.TableDefs.Count - 1
If oDatabase.Tabledefs(i).Name = cTablaImportar Then
Existe = True
Exit For
Next i
If Existe Then
oDatabase.Execute "DROP TABLE " & cTablaImportar
oDatabase.Tabledefs.Refresh
end if
Espero que sirva
Saludos
Antes de crear una tabla, debes eliminarla si esta existe, si estàs trabajando con DAO como me parece, se hace un poco más fácil, que que el objeto Database posee la colecciòn TableDefs que te permite saber si la tabla ya existe
Fijate esto
Despuès del Opendatabase, inserta este còdigo
Dim i as Integer
Dim Existe as Boolean
Existe = False
For i = 0 oDatabase.TableDefs.Count - 1
If oDatabase.Tabledefs(i).Name = cTablaImportar Then
Existe = True
Exit For
Next i
If Existe Then
oDatabase.Execute "DROP TABLE " & cTablaImportar
oDatabase.Tabledefs.Refresh
end if
Espero que sirva
Saludos
