Unir varios formularios

Tengo un formulario padre con 3 botones que me abren 3 formularios.el campo común para los 4 form. Es característica.
se puede hacer que estando en el form. Padre en el registro 570 al abrir cualquiera de los otros se me abran también en ese mismo registro.
¿Si esto es posible se puede hacer también que si creo un nuevo registro automáticamente se me haga un nuevo registro también en los otros 3 formularios?
1

1 respuesta

Respuesta
1
1- En la rutina que te llama al otro form (seguramente será un botón), debes agregar estas líneas:
Dim criterio As String
Dim formula As String
formula = "fFacturas"
criterio = "[caracter]= Forms!fClientes![caracteristica]"
DoCmd. OpenForm formula, acNormal,, criterio, acFormEdit, acDialog
Donde:
FFacturas es el nombre del segundo formulario
carácter es el nombre del campo en común, del segundo form
fClientes es el nombre del primer formulario o padre
característica es el nombre del campo en común, del primer form
acFormEdit es porque abre en modo Edición, puede ser también acReadOnly (solo lectura)
2- Para crear registros en otra tabla, la rutina la agregué luego de cargar el último campo (nombre)
Private Sub nombre_AfterUpdate()
Docmd.RunSql "Insert Into tFacturas(campo1,campo2)values(forms!fClientes!campox,Now)"
End Sub
Donde:
Nombre es el nombre del campo de mi form principal.
TFacturas: es la tabla a la que quiero agregar registros
campo1, campo2 son los nombres de los campos de esta tabla (los campos que no agrego quedarán vacíos)
Los values son los valores que tomarán esos campos: puede ser el mismo que el form activo (fClientes) o un dato fijo como la fecha actual (Now)
Tenés que repetir la línea: docmd.RunSql ... para los otros form, antes del End Sub.
Espero tus comentarios y/o la finalización de la consulta.
Hola!, pufhh a ver que he echo mal porque no me sale y no entiendo nada de programación.
Formulario ppal tiene estos campos titulo, nºhoja
los otros 3 formularios los abro desde este con 3 botones :
informacion = tiene titulo,sinopsis
formato = titulo,formato,idioma
Información técnica = titulo, año, director
solo he echo todo sobre el botón de información porque el resto sera hacer lo mismo:
En el botón información en evento al dar click he echo un procedimiento de evento y me queda así
Private Sub INFORMACION_Click()
On Error GoTo Err_INFORMACION_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "informacion"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Dim criterio As String
Dim formula As String
formula = "INFORMACION"
criterio = "[titulo]= forms!situacion![titulo]"
DoCmd.OpenForm formula, acNormal, , criterio, acFormEdit, acDialog
Exit_INFORMACION_Click:
Exit Sub
Err_INFORMACION_Click:
MsgBox Err.Description
Resume Exit_INFORMACION_Click
End Sub
Lo único que me hace es que cuando pincho el botón información me sale un cuadro en el que tengo que escribir el titulo y encima exacto para que me salga
la información de ese titulo.
(A mi lo que me interesa es que si estoy en el formulario situación en el registro 435 al pinchar el botón información se me abra automáticamente en el registro 435)
Bueno gracias por todo y a ver si ves que he echo mal
un saludo
Disculpa, el problema fue mío por presuponer que lo podrías insertar. También un poco es tuyo ya que si hubieses seguido los pasos correctos al crear el botón no hubieses necesitado código adicional. Intentá crear el botón nuevamente y seguí estos pasos con el Asistente:
Acción: Operaciones con formularios / Abrir formulario
Seleccionar el segundo formulario (ej: fSinopsis)
Datos que va a mostrar: 1ra opción: Abrir el form y buscar datos específicos
Campos en común: seleccionar los 2 campos y luego el botón <>
Optar por mostrar texto o imagen
Finalizar
Desde el Editor, o en el procedimiento Al hacer clic del nuevo botón, verás este código, que ya incluye el criterio:
Private Sub Comando3_Click()
On Error GoTo Err_Comando3_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "fsinopsis"
stLinkCriteria = "[titulo]=" & "'" & Me![titulo] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Comando3_Click:
Exit Sub
Err_Comando3_Click:
MsgBox Err.Description
Resume Exit_Comando3_Click
End Sub
Si tenés esto no te hace falta el código que te envié. Fíjate que ahora te apareció como dato el criterio (stLinkCriteria)
Los nombres del botón, formulario y del campo en común cambiarán según tus datos.
Lo que estamos haciendo es abrir otra tabla con el mismo código de titulo, supongo que esa es la idea, ya que mencionás abrir en el mismo número de registro, pero la información no se maneja por nro.de registro sino por contenido del campo.
Espero haber sido más clara esta vez. El segundo punto no te traerá problemas (creo...:))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas