Como le podría hacer para un programa en visual basic, que cuando se este ejecutando me pida un nombre para la base de datos, una tabla y los campos y que después la cree en access. Necesito ayuda ójala me puedan echar la mano.
Este es el listado del procedimiento que se encargará de crear la base de datos. Por supuesto, deberás cambiar los nombres de los campos y tipos de datos a tu conveniencia, pero de esta forma, tienes algo por dónde empezar. Lo demás que quieras hacer lo adaptas tu pensando un poquito... Private Sub CrearBase(sBase As String) 'Crear la base de datos indicada ' Dim Db As Database Dim Fd As Field Dim Tb As New TableDef 'Definir una Tabla Dim Idx As New Index 'Para crear un índice Dim i As Integer 'Crear base de datos, idioma español y para la versión 2.0 del Jet de Access '================================================================================ 'Si vas a adaptar este programa para VB3, usa dbVersion11 en lugar de dbVersion20 '================================================================================ Set Db = CreateDatabase(sBase, dbLangSpanish, dbVersion20) ' 'La constante dbVersion20 no aparece en la ayuda, en su lugar lo hace la dbVersion25 'pero ésa no está creada!!! ' 'Primero la tabla de las tareas Set Tb = Db.CreateTableDef("Tareas") 'Vamos a crear cada uno de los campos Set Fd = Tb.CreateField("ID", dbLong) 'Ahora vamos a asignar las propiedades de contador, etc. Fd.Attributes = dbAutoIncrField Or dbUpdatableField Or dbFixedField Tb.Fields.Append Fd 'El resto de los campos Set Fd = Tb.CreateField("Fecha", dbDate) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Asunto", dbText, 255) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Descripcion", dbMemo) Tb.Fields.Append Fd Set Fd = Tb.CreateField("FechaInicio", dbDate) Tb.Fields.Append Fd Set Fd = Tb.CreateField("FechaTermino", dbDate) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Terminada", dbInteger) Tb.Fields.Append Fd 'Creamos un índice con el ID Idx.Name = "PrimaryKey" Idx.Unique = True Idx.Primary = True Idx.Fields = "ID" Tb.Indexes.Append Idx 'Añadimos la tabla a la base Db.TableDefs.Append Tb ' 'Creamos la otra tabla: Anotaciones Set Tb = Db.CreateTableDef("Anotaciones") 'El campo ID, es el contador, etc. Set Fd = Tb.CreateField("ID", dbLong) Fd.Attributes = dbAutoIncrField Or dbUpdatableField Or dbFixedField Tb.Fields.Append Fd 'El resto de los campos Set Fd = Tb.CreateField("Fecha", dbDate) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Tema", dbText, 50) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Asunto", dbText, 255) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Medio", dbText, 255) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Localizacion", dbText, 255) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Descripcion", dbMemo) Tb.Fields.Append Fd Set Fd = Tb.CreateField("Detalle", dbLongBinary) Tb.Fields.Append Fd 'Creamos un índice con el ID Set Idx = Nothing 'Quitar la referencia anterior Idx.Name = "PrimaryKey" Idx.Unique = True Idx.Primary = True Idx.Fields = "ID" Tb.Indexes.Append Idx 'Añadimos la segunda tabla a la base Db.TableDefs.Append Tb 'Cerramos la base Db.Close MsgBox "Nueva base de datos " & sBase & " creada.", vbInformation End Sub