Copiar registros de un formulario y asociados

Hola Compañeros,
Te sitúo resumiendo. Tengo una base de datos de promociones inmobiliairas con varias tablas y trabajo por medio de formulario.
Por medio de un formulario deoy de alta o edito promociones inmobiliarias y luego mediante otro formulario relacionado doy de alta las viviendas que tiene esa promoción.
Quiero si es posible que mediante código o consulta o algo se puedan copiar todos los datos del registro en el que me encuentro de una promoción y a su vez todas las viviendas que tengo asociadas a esa promoción, ¿me explico? Que en la tabla 1 tengo la promoción A que esta asociada a las viviendas B, C y DE de la tabla 2, pues que de una vez me copie todos los registros no solo la promoción.
Un saludo y gracias de antemano.

1 Respuesta

Respuesta
1
Para hacer lo que quieres o puedes hacerlo a través de una consulta de inserción de datos donde selecciones todos los datos que quieras insertar, y como condición de la consulta que el valor de promoción sea igual al valor de la promoción actual del formulario, para eso en condición debes poner:
Como Formularios![Formulario1]! [Cod_promocion]
Formulario1 seria el nombre de tu formulario, y Cod_promocion, seria el nombre del campo del formulario donde esta el valor de la promoción.
La otra opción es a través de código te pongo un pequeño ejemplo para que veas como sería:
'###### INICIO CODIGO######
'Primero creamos un recordset con los datos que queremos incluir.
'guardamos en la variable cod la consulta que nos daria todos los registros de las viviendas cuyo codigo de promocion coincida con el valor de la casilla del formulario Cod_promocion (me.Cod_promocion.Value).
Set cod = CurrentDb.OpenRecordset("SELECT Vivienda.Cod_promocion, Vivienda.Cod_vivienda, Vivienda.datos_vivienda FROM Vivienda where  Vivienda.Cod_promocion = " & Me.Cod_promocion.value & ";")
'If cod.Eof and cod.bof, comprueba que la consulta contenga registros, si no tiene registros devuelve un mensaje y sale.
If cod.EOF And cod.BOF Then
MsgBox "No hay ningun usuario en este departamento"
Exit Sub
Else
'si se encuentran registros recorremos registro por registro y lo insertamos en la tabla mediante consulta de insercion SQL.
    While Not cod.EOF
'Guardamos los valores de las columnas de la consulta en variables el numero entre parentesis indica la columna en orden de la consulta de seleccion.
   Codigo_promocion = cod.fields(0)
   Codigo_vivienda = cod.fields(1)
   Datos_Vivienda = cod.fields(2)
' Insertamos los valores con una consulta de insercion. Los valores tipo datos deben ir con comilla simple delante y detras de la doble comilla, te pongo de ejemplo el campo Datos_vivienda.
    Currentdb.execute("insert into TABLA (Cod_promocion, Cod_Vivienda, Datos) values (" & Codigo_promocion & "," & Codigo_vivienda & ", '" & Datos_Vivienda & "' ) ")
'movemos al siguiente registro y volvemos ha hacer el proceso
    cod.MoveNext
    Wend
End If
'###### FIN CODIGO######
Bueno espero te sea de ayuda.
Lo he realizado mediante la consulta de inserción como me has dicho pero el tema es que ha la vez que me copia los registro de las viviendas me los tiene que asociar a la nueva promoción duplicada no a la vieja, ¿me entiende?
Lo que tienes que hacer entonces es en la misma consulta de inserción, el campo cod_promocion cambiarle al valor que quieras, es decir, poner por ejemplo en la condición "[Inserte codigo nueva promocion]" sin las comillas, esto te mostrará un mensaje donde insertar el nuevo código de promoción.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas