¿Cómo abrir un formulario al dar doble click a un listBox y que este formulario muestre el registro seleccionado?

Tengo mi formulario llamado inventario, el cual contiene un listBox (listBoxInventario) donde se muestran los productos que se tienen en inventario, quiero saber como hacer para que, cuando se de doble click, me abra mi otro formulario (detallesProducto) y en este formulario me aparezca el registro del producto seleccionado anteriormente en el listBox, el listBox tiene 3 columnas (nombre, descripción, exhibición)

Respuesta
2

Primero, vamos a suponer que la columna dependiente del listbox es la 1, la de Nombre. En el evento Al hacer doble clic(aunque yo lo pondría en el evento Después de actualizar) puedes poner

docmd.openform"detallesproducto",,,"nombreproducto='" & me.nombredellistbox & "'"

Es decir, abre el formulario en aquel registro en que su campo NombreProducto( o como se llame) sea igual al valor que he elegido(columna dependiente) en el listbox.

En efecto, la columna dependiente es 1, la cual es el nombre del producto, ya he intentado con el código que amablemente me compartes, sin embargo, me muestra el "error 2501 en tiempo de ejecución, la acción OpenForm se canceló"

también podrías explicarme el por qué lo pondrías tu en el evento después de actualizar

@Icue González, he descubierto el porqué tu código no me funcionaba, era por otro evento que tenía el formulario que mandaba abrir y eso chocaba con las instrucciones de la línea de código que me compartes, tu solución funciona a la perfección, gracias, de verdad

Solo si puedes ilustrarme el porque tu ves más conveniente el poner esta acción en el evento después de actualizar y no en el de doble click te lo agradecería bastante

Si tengo el formulario Productos

Da igual que sea único o continuo, pero prefiero ponerlo así porque lo veas mejor.

También tengo el Formulario2 donde esta el cuadro de lista Lista0. No le hagas caso a que sólo haya puesto una columna, ya que lo importante es la columna dependiente

Voy a "seleccionar" el producto señalado por la fecha. En el momento que pongo el cursor en él

Te lo he puesto en vista diálogo para que veas como sí abre el formulario en ese producto.

Decía lo del evento Después de actualizar porque por lo que dices no estás usando la multiselección. El código que le tengo puesto es

Private Sub Lista0_AfterUpdate()
DoCmd.OpenForm "productos", , , "nombreproducto='" & Me.Lista0 & "'", , acDialog
End Sub

En el evento Al hacer doble clic sería absolutamente igual

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas