Access - Listbox

 
Vista:

Listbox

Publicado por Victor (101 intervenciones) el 27/03/2007 03:48:00
Tengo un Listbox en un formulario que me ayuda a buscarlos y que me muestra los registros que tengo en una tabla que guarde mediante otro formulario.

Como le hago para que cuando le de doble click al registro en el ListBox me jale el formulario en el cual yo capture el dato y me lo vuelva a cargar en el formulario.

Me marca error en este codigo algo de Design View:

Private Sub ListRegistros_DblClick(Cancel As Integer)
Form_FrmRegistros.Numero_de_reporte.Text = ListRegistros.ItemData(ListRegistros.ListIndex)
Form_FrmRegistros.Empresa.SetFocus
DoCmd.Close acForm, "Buscador_de_registros"
End Sub

Espero me puedan ayudar, Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Abrir formulario desde ListBox y cargar dato nuevamente en el formulario actual

Publicado por Alejandro (4142 intervenciones) el 07/08/2023 20:59:09
Para solucionar el error en tu código y lograr que al hacer doble clic en un registro del ListBox se abra el formulario donde se capturó el dato y lo cargue nuevamente en el formulario actual, debes realizar algunos ajustes.

El problema en tu código es que estás intentando asignar un valor a un control de formulario de manera directa utilizando la sintaxis `Form_FrmRegistros.Numero_de_reporte.Text`, pero no es la forma adecuada de hacerlo. Además, estás intentando cerrar el formulario "Buscador_de_registros" usando `DoCmd.Close`, pero estás dentro del evento del ListBox de ese mismo formulario, lo cual causará un error.

A continuación, te muestro cómo debería ser el código corregido:

1
2
3
4
5
6
7
8
9
10
11
Private Sub ListRegistros_DblClick(Cancel As Integer)
    ' Obtener el valor seleccionado en el ListBox
    Dim numeroReporte As String
    numeroReporte = ListRegistros.Column(0, ListRegistros.ListIndex)
 
    ' Abrir el formulario donde se capturó el dato
    DoCmd.OpenForm "NombreDelFormularioDondeCapturoDatos", , , "Numero_de_reporte = '" & numeroReporte & "'"
 
    ' Cerrar el formulario actual
    DoCmd.Close acForm, Me.Name
End Sub

Asegúrate de reemplazar "NombreDelFormularioDondeCapturoDatos" con el nombre real del formulario donde capturaste el dato y que tiene el campo "Numero_de_reporte". Además, asegúrate de que el nombre del campo "Numero_de_reporte" coincida con el nombre del campo que utilizas en la tabla y en el formulario.

Con este código corregido, al hacer doble clic en un registro del ListBox, se abrirá el formulario donde capturaste el dato y se filtrará por el número de reporte seleccionado. Luego, se cerrará el formulario actual.

Espero que esta solución te sea útil para lograr el comportamiento que deseas en tu aplicación. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar