Option Compare Database Option Explicit Function CreaunatablaDAO() Dim db As Database Dim ObjetoTabla As TableDef Set db = CurrentDb Set ObjetoTabla = db.CreateTableDef("Mitabla") With ObjetoTabla .Fields.Append .CreateField("Campo1", dbText, 2) .Fields.Append .CreateField("Campo2", dbInteger) .Fields.Append .CreateField("Campo3", dbDate) End With db.TableDefs.Append ObjetoTabla End Function Function CreaTablaDDL() Dim StrSql As String StrSql = "CREATE TABLE Mitabla " _ & "(Id COUNTER PRIMARY KEY," _ & "[Campo1] TEXT(35) NOT NULL, " _ & "[Campo2] TEXT(50) NOT NULL, " _ & "Campo3 TEXT(200), " _ & "Email TEXT(50))" CurrentDb.Execute StrSql End Function Function HacemosCambiosEnTabla() 'Permitir longitud cero CurrentDb.TableDefs("Mitabla"). _ Fields("campo1"). _ Properties("AllowZeroLength") = True 'Cambiamos valor predeterminado CurrentDb.TableDefs("Mitabla"). _ Fields("campo1"). _ Properties("DefaultValue") = """Valor que yo quiera""" End Function Sub crearTablasyRelacion() 'Esta se la pillé Juan M Afan de Ribera 'Creamos dos tablas y ademas creamos relacion entre ellas. Dim cadSQL As String 'creamos una tabla de facturas cadSQL = "CREATE TABLE Facturas " _ & "(IdFactura INTEGER PRIMARY KEY, " _ & "FechaFra DATETIME, " _ & "IdCliente INTEGER)" 'aquí utilizamos DAO CurrentDb.Execute cadSQL 'creamos una tabla de detalle de facturas y relacionamos 'con la tabla facturas a través del campo IdFactura cadSQL = "CREATE TABLE DetalleFacturas " _ & "(IdDetalle COUNTER PRIMARY KEY, " _ & "IdFactura INTEGER, " _ & "Cantidad INTEGER, " _ & "Descripcion TEXT(255), " _ & "PrecioUnitario DOUBLE, " _ & "CONSTRAINT ClaveExtFacturas FOREIGN KEY (IdFactura) " _ & "REFERENCES Facturas ON UPDATE CASCADE ON DELETE CASCADE)" 'aquí utilizamos ADO CurrentProject.Connection.Execute cadSQL End Sub '******************************************** 'Esta creo que es de Martí (Marjan) para borrar una tabla Public Sub BorraTaula(NomTaula As String) 'Procedimiento para borrar tablas DAO 3.51 Dim mdb As Database Set mdb = CurrentDb Dim Taula As TableDef For Each Taula In mdb.TableDefs If Taula.Name = NomTaula Then mdb.TableDefs.Delete (NomTaula): Exit For End If Next mdb.Close Set mdb = Nothing End Sub '*********************************************