Atendiendo a la petición de Búho, ahí va un ejemplo de crear dos tablas con relación uno a varios e integridad referencial con actualización y borrado en cascada (es sólo un ejemplo, así que no le busqueis tres pies a las tablas, eh? :-) ) 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 Ejecutar esta rutina en una bd y luego agregad esas dos tablas en la ventana de relaciones para poder ver qué efecto tiene esto. Espero de algo de luz al asunto Siguió preguntando el Buho: ¿Y si las tablas están vinculadas? (Crear la relacion desde la MDB que ejecuta el codigo, me refiero, teniendo ésta, tablas virtuales, es decir, linkadas hacia otra MDB) ¿Como lo harías en este caso? ¿Cambiando el CurrentProject.Connection y referenciando a la MDB de datos y ejecutando 'allí' desde 'aqui' la consulta? Responde de nuevo Juan, con mas paciencia que un santo: 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