Sub crearTablasyRelacion() 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 Si las tablas estuvieran vinculadas... Sub crearIntegridadOtraBD(nomTabla1 As String, _ nomTabla2 As String, _ nomClaveExterna As String, _ nomFOREIGNKEY As String) Dim conexion As ADODB.Connection Dim Ruta As String Dim cadSQL As String Set conexion = New ADODB.Connection Ruta = CurrentDb.TableDefs(nomTabla1).Connect Ruta = Right(Ruta, Len(Ruta) - InStr(Ruta, "=")) conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Ruta & ";" cadSQL = "ALTER TABLE " & nomTabla1 _ & " ADD CONSTRAINT " & nomClaveExterna _ & " FOREIGN KEY (" & nomFOREIGNKEY & ") " _ & "REFERENCES " & nomTabla2 _ & " ON UPDATE CASCADE " _ & "ON DELETE CASCADE)" conexion.Execute cadSQL conexion.Close Set conexion = Nothing End Sub