Datos formulario access activo a otro por activar

Bueno la cosa es la siguiente.
Mi tabla tiene 2 campos SI/NO
En el formulario en donde tengo que ingresar los datos grabo, elimino, etc. Sin problemas.
Ahora mi problema se presenta en el momento de activar una de estas 2 casillas (que las llamare casilla 1 y casilla 2)
Por defecto en el formulario casilla 1 y 2 están desmarcadas, y dependiendo de lo que necesito activare casilla 1 o 2.
Si activo casilla 1 necesito sacar 2 datos (dato_1 y dato_2) de este formulario activo (principal) y abrir el formulario casilla 1 con los datos previamente copiados del formulario principal. Lo mismo con la casilla 2 solo que trabajare con 2 datos distintos de mi formulario activo (principal)

1 respuesta

Respuesta
1
Cuando dices <abrir el formulario casilla 1 con los datos previamente copiados del formulario principal>, ¿te refieres a que quieres abrir el formulario casilla 1 para añadir un registro nuevo, pero que esos dos datos ya te aparezcan rellenados?
Bueno la cosa es la siguiente.
Mi tabla tiene 2 campos SI/NO
En el formulario en donde tengo que ingresar los datos grabo, elimino, etc. sin problemas.
Ahora mi problema se presenta en el momento de activar una de estas 2 casillas (que las llamare casilla 1 y casilla 2)
Por defecto en el formulario casilla 1 y 2 están desmarcadas, y dependiendo de lo que necesito activare casilla 1 o 2.
Si activo casilla 1 necesito sacar 2 datos (dato_1 y dato_2) de este formulario activo (principal) y abrir el formulario casilla 1 con los datos previamente copiados del formulario principal. Lo mismo con la casilla 2 solo que trabajare con 2 datos distintos de mi formulario activo (principal)
Desde ya muchas gracias por su ayuda a todos los expertos.
Más menos es eso.
Me refiero a que quiero abrir el formulario casilla 1 para añadir registros nuevos. Y que los registros como dato1, dato2 y dato3 me los copie desde el formulario principal y me los pegue en el formulario casilla 1. y acá tener 2 TextBox donde yo ingrese los nuevos datos.
¿Se entiende?
OK, perfecto.
Voy a suponer lo siguiente:
Que los campos que quieres copiar se llaman [Campo1] y [Campo2] en tu formulario principal, y que en el formulario que se abre, al que llamaré "FormCasilla1", los campos correspondientes son [C1Campo1] y [C1Campo2] (por extensión, el otro form será "FormCasilla2" y los campos [C2Campo1] y [C2Campo2], y los campos a copiar del form principal [Campo3] y [Campo4])
Tú después deberás cambiar en el código esos nombres por los que tú tengas en la BD.
Lo que debes hacer, para la casilla de verificación 1, es lo siguiente:
1.- Con el formulario en vista diseño sacas las propiedades del check y te vas a la pestaña Otras->Nombre, y ahí le escribes chkCasilla1
2.- Ahora te vas a la pestaña Eventos->Después de actualizar, y te sitúas en el espacio en blanco que hay a su derecha. Verás que te aparece un pequeño botón de puntos suspensivos. Si haces click sobre él te aparecerá una ventana. Le dices que quieres generar código.
3.- Se te abrirá el editor de VB, con dos líneas por defecto (Private Sub... y End Sub). Estas líneas no debes tocarlas. En medio de ellas escribes el siguiente código (te lo pongo comentado para que sepas lo que hace):
...
Private Sub...
'Creamos las variables y les asignamos valor
Dim vCk As Boolean
Dim v1 As Variant, v2 As Variant
vCk = Me.chkCasilla1.Value
v1 = Me.[Campo1].Value
v2 = Me.[Campo2].Value
'Examinamos si el check está marcado o no
If vCk = False Then 'si está desmarcado sale del proceso
Exit Sub
'Si está marcado abrimos el formulario y copiamos los valores
Else
Docmd.OpenForm "FormCasilla1",,,,acFormAdd
With Forms![FormCasilla1]
.[C1Campo1].Value = v1
.[C1Campo2].Value = v2
End With
End If
End Sub
...
4.- El check dos sigue la misma mecánica. Suponiendo que le pones de nombre chkCasilla2 el código que debes generar es el siguiente (ten en cuenta los nombres de formularios y campos):
...
Private Sub...
'Creamos las variables y les asignamos valor
Dim vCk As Boolean
Dim v1 As Variant, v2 As Variant
vCk = Me.chkCasilla2.Value
v1 = Me.[Campo3].Value
v2 = Me.[Campo4].Value
'Examinamos si el check está marcado o no
If vCk = False Then 'si está desmarcado sale del proceso
Exit Sub
'Si está marcado abrimos el formulario y copiamos los valores
Else
Docmd.OpenForm "FormCasilla2",,,,acFormAdd
With Forms![FormCasilla2]
.[C2Campo1].Value = v1
.[C2Campo2].Value = v2
End With
End If
End Sub
...
Y eso es todo. Te he escrito el código de cabeza, por lo que si te da algún tipo de problema me lo comentas e intentamos arreglarlo.
Cerraras la consulta. Si no, te ruego que me digas cosas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas