Pasar datos de un formulario a otro

Tengo un formulario con una hoja de datos donde ahí varios registros y lo que quiero hacer es que al hacer doble clic sobre el registro se habrá otra ventana y cargue en los cuadro de textos los datos que están en la hoja de datos

1 respuesta

Respuesta
1

Supongo que te refieres a que en el formulario que se abra, te coja los datos del formulario desde donde se abre. Si es eso, vamos a suponer que el formulario inicial se llama Clientes, con Cliente, Fecha,, loquesea, y que el formulario que se va a abrir se llama Ventas con yoquese, cuando, algomas.

En el evento al hacer doble clic puedes poner

Docmd. Openform"ventas",,,, acformadd, acdialog

Y en el evento al activar registro del formulario Ventas puedes poner

If currentproject.allforms("clientes").isloaded then

yoquese=forms!cliente!cliente

cuando=forms!clientes!fecha

algomas=forrms!clientes!loquesea

end if

¡Gracias! lo pruebo y te comento

me quede con una duda en la parte que me dices :("Y en el evento al activar registro del formulario Ventas puedes poner").el evento activar registro te refieres a cuando se abre el formulario "ventas"????

La imagen

Si pones el cursor en el espacio en blanco donde ahora aparece Procedimiento... a la derecha te aparece el botón de tres puntos. Si lo pulsas se abre una ventana y elije Generador de código y se abre la ventana del editor de VB. Entre Private Sub y End Sub escribes la instrucción que quieres que se ejecute, cuando actives cualquier registro.

¡Gracias! Ahora lo pruebo

hola como estas.intente hacer como tu ejemplo, pero de estas manera:

plazo_pago= forms!clientes!me.lista0.column(7)

en el formulario inicial tengo cuadro de lista 

¿Y qué pasó?

Acuérdate que en código las columnas son un número menos ya que la primera es 0

Si pulso el botón

El código del evento Al activar registro del formulario 2 es

Private Sub Form_Current()
Texto0 = Forms!formulario1!Lista0.Column(2)
End If
End Sub

el error que me da dice que no se puede asignar valor a este objeto.

if currentproject.allforms("frmclientes").isloaded then

me.txtapellido=forms!frmclientes!lista0.column(2)

end if

Ya lo soluciones muchas gracias por tu ayuda cualquier cosa vuelvo a pedirte ayuda

Bueno ahora ya que pude coger los datos del formulario1 y colocarlo en las caja de textos de formulario2.

Como puedo hacer para que cualquier modificación que yo haga en las caja de texto lo pueda guardar en BD.

En las cajas ¿de qué formulario? Si es en formulario2, y sin saber como tienes construidas las tablas, vamos a suponer que la tabla que sea se llama TablaA y tiene un campo Pais. En algún evento del formulario 2, por ejemplo, Al hacer click de un botón se puede poner

Docmd.runsql"update tablaa set pais='" & me.texto0 & "' where....aquí iría el criterio que identifique a uno o varios registros de la tablaA. Por ejemplo, selecciono Blauer.... que como ves está en Alemania

Pulso el botón y se abre el formulario 2

Ahora cambio Alemania por

En el evento Al hacer clic del botón(pero podría se perfectamente en el evento Después de actualizar del cuadro de texto Texto0) le tengo puesto

DoCmd.SetWarnings False
DoCmd.RunSQL "update otra set pais='" & Me.Texto0 & "' where nombrecompañia=forms!formulario1!lista0"

Pulso el botón y 

Voy a ser más claro.

Tengo un formulario1 con un cuadro de lista con los campo codclie, apellido, nombre,dirección,teléfonos. Y al hacer doble clic en el registro se habré otro formulario2 y carga los datos en las caja de texto:txtcod, txtapell, txtnomb, txtdirec, txttel. Para modificar los datos y así guardar en la DB

Dices modificar y guardar, pero ¿guardar en donde? ¿En la misma tabla origen del primer formulario?,¿En la tabla origen de la fila del cuadro de lista?,¿En otra tabla cualquiera?

guardar  en el origen(TABLA CLIENTES)del cuadro de lista

En el ejemplo, el origen de la fila del cuadro de lista es la tabla Otra. Si tengo el formulario y elijo un cliente

Al pulsar el botón

Si ahora cambio Argentina por Ucrania y pulso el botón

Mira el país en el cuadro de lista.

El código es

Ahora bien, no le veo sentido a abrir un formulario para modificar un valor en un cuadro de lista, se puede hacer desde el mismo formulario donde está ese cuadro de lista.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas