Access - Cuadro combinado en formulario tabular

 
Vista:
sin imagen de perfil

Cuadro combinado en formulario tabular

Publicado por Hector (27 intervenciones) el 06/09/2021 21:37:56
Hola a todos, buenas tardes. Me podrían ayudar con un cuadro combinado que coloque en un formulario tabular al cual quiero buscar el registro que anote en el cuadro combinado y al elegir el registro me muestre solo ese registro en el formulario. Hasta el momento solo he logrado ubicar el registro y en el formulario solo me lo identifica con una flecha el registro que estoy buscando. Este es el código que tengo en el cuadro combinado.

Private Sub Cuadro_combinado40_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Numero] = " & Str(Nz(Me![Cuadro_combinado40], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
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

Cuadro combinado en formulario tabular

Publicado por Anonimo (3316 intervenciones) el 06/09/2021 22:34:16
No se necesita nada, la búsqueda funciona.

Si se desea ver un único registro, el formulario no puede ser 'continuo' (por definición: múltiples registros)

Dependiendo de la versión de Access hay un formulario que lo permite: el formulario dividido, mostrará en una de las secciones el registro seleccionado y debajo (como si se tratase de un subformulario) el conjunto de todos los registros.

La búsqueda también funcionaria así:

1
2
3
4
5
6
Private Sub Cuadro_combinado40_AfterUpdate()
Whit Me.Recordset.Clone
.FindFirst "[Numero] = " & Str(Nz(Me![Cuadro_combinado40], 0))
If Not .EOF Then Me.Bookmark = .Bookmark
End with
End Sub

(se reutiliza lo que siempre esta presente y se ahorran declaraciones y copias de copias, variables ... se utiliza el minimo de recursos)

[Adenda]
Existe otra posibilidad, en lugar de desplazarse al registro (lo que se hace ahora) se le aplica un filtro para que solo 'exista' ese único registro.

1
2
3
4
5
6
Private Sub Cuadro_combinado40_AfterUpdate()
Whit Me.Recordset.Clone
.FindFirst "[Numero] = " & Str(Nz(Me![Cuadro_combinado40], 0))
If Not .EOF Then Me.Filter = "Numero =" &  Str(Nz(Me![Cuadro_combinado40], 0)) : Me.FilterOn =True
End with
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Cuadro combinado en formulario tabular

Publicado por Hector (27 intervenciones) el 06/09/2021 23:27:00
Probé el primer código con formulario dividido, pero me sale un error de compilación. envío imagen comprimida con el error. mientras revisare el otro código
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

Cuadro combinado en formulario tabular

Publicado por Anonimo (3316 intervenciones) el 07/09/2021 04:41:57
Mis sinceras disculpas, es un error por mi parte al escribir la expresión en el foro sin haberla verificado antes, el error esta en que se quedo en el tintero una consonante (la H que si existe al final, cuando se desactiva esa opción).

Lo que hace WITH es utilizar por defecto la referencia que se le indique a continuación, basta un punto o una admiración ( . ! ) para aplicarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Cuadro combinado en formulario tabular

Publicado por Hector (27 intervenciones) el 15/09/2021 00:03:18
oka, gracias
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