Como creo una base de datos 'access'nueva desde VB

Hola, necesito crear una Base de datos nueva desde VB con tablas y propiedades ya predeterminadas para luego cambiar la ruta de los 'datas' y poder empezar a modificar su contenido.

1 Respuesta

Respuesta
1
Dim BASE As Database
Dim TD As TableDef
Set BASE = OpenDatabase(App.Path + "nombrebasededatos")
Set TD = BASE.CreateTableDef("nombredelatabla")
TD.Fields.Append TD.CreateField("nombrecampo", dbText)
BASE.TableDefs.Append TD
BASE.Close
Para Borrar
Dim BASE As Database
Dim space As Workspace
Set space = CreateWorkspace("", "ADMIN", "", dbUseJet)
Set BASE = space.OpenDatabase(App.Path + "nombrebasededatos")")
BASE.TableDefs.Delete ("nombretabla")
BASE. Close
Esto me sirve para abrir una base de datos existente y meterle tablas... esta muy bien y me ha servido pero necesito saber como crear bases de datos nuevas...
Creo que es con 'CreateDatabase' pero no se exactamente, supongo que es algo como esto, ¿no?
dim Base as Database
set Base = CreateDatabase _
(CommonControl1.FileName)
me podrias auxiliar=???
Crear una base de datos nueva de access:
Sub CreateDatabaseX()
Dim wrkPredeterminado As Workspace
Dim dbsNueva As DATABASE
Dim prpBucle As Property
' Obtiene el Workspace predeterminado.
Set wrkPredeterminado = DBEngine.Workspaces(0)
' Asegúrese de que no existe un archivo con el
' nombre de la base de datos nueva.
If Dir("BDNueva.mdb") <> "" Then Kill "BDNueva.mdb"
' Crea a una base de datos nueva encriptada con la
' secuencia de intercalación especificada.
Set dbsNueva = wrkPredeterminado.CreateDatabase("BDNueva.mdb", _
dbLangGeneral, dbEncrypt)
With dbsNueva
Debug.Print "Properties de " & .Name
' Enumera la colección Properties del objeto
' Database nuevo.
For Each prpBucle In .Properties
If prpBucle <> "" Then Debug.Print " " & _
prpBucle.Name & " = " & prpBucle
Next prpBucle
End With
dbsNueva.Close
End Sub
Oye, pues muchas gracias, de verdad..
Ya por ultimo, ¿me podrías explicar para que sirve esto?
If Dir("BDNueva.mdb") <> "" Then Kill "BDNueva.mdb"
Porque todo el código lo entendí bien pero esa parte no me quedo bien claro.
Te lo agradezco infinitamente! Me has salvado
La función genérica de V.B. Dir("BDNueva.mdb") me devuelve el nombre del fichero "BDNueva.mdb" si existe y si no me devuelve ""
Y Kill "BDNueva.mdb" me elimina un archivo con lo que
If Dir("BDNueva.mdb") <> "" Then Kill "BDNueva.mdb" me elimina la base de datos para que al crear una nueva no me de error porque ya existe.
Ah! Otra cosa es importante que pongas la ruta completa porque sino Dir("BDNueva.mdb") y Kill "BDNueva.mdb" te coge el directorio actual en donde te encuentres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas