Access - Consultas ciclicas

 
Vista:

Consultas ciclicas

Publicado por Ricardo Mazariegos (1 intervención) el 14/02/2001 21:54:04
Necesito hacer que una consulta sea ciclica dependiendo de una caja de texto en un formulario, la caja de texto la uso como criterio.

Si hace bien la consulta, pero tengo que salir del formulario para que cambie el valor del criterio.

Por ejemplo: pongo el codigo 1 en la caja de texto y si me aparecen los datos relacionados con el codigo 1, pero si pongo el número 2 como codigo en la caja de texto, me deja los datos relacionados con el codigo 1 y no con el codigo 2. Pero si cierro el formulario, lo vuelvo a cargar y pongo en la caja de texto el codigo 2, si me salen los datos relacionados con el codigo 2, pero lo mismo despues, no me devuelve los valores relacionados con otro codigo que no sea el 2.
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

Consultas ciclicas

Publicado por Alejandro (4142 intervenciones) el 14/04/2023 18:15:53
Para hacer que una consulta sea cíclica dependiendo de una caja de texto en un formulario, puedes utilizar el evento "AfterUpdate" de la caja de texto para actualizar la consulta.

Primero, asegúrate de que la consulta tenga el nombre del control de la caja de texto entre corchetes [] como criterio de selección. Por ejemplo, si la caja de texto se llama "txtCodigo", la consulta podría ser:

1
SELECT * FROM MiTabla WHERE [Codigo] = [Forms]![MiFormulario]![txtCodigo]

Luego, en el evento "AfterUpdate" de la caja de texto, puedes actualizar el origen del registro del subformulario (o del formulario principal, si la consulta se utiliza directamente en el formulario) para que se refresque la consulta con el nuevo criterio de selección. El código VBA podría ser similar a este:

1
2
3
4
Private Sub txtCodigo_AfterUpdate()
Me.Subformulario.Form.RecordSource = "SELECT * FROM MiTabla WHERE [Codigo] = " & Me.txtCodigo
Me.Subformulario.Form.Requery
End Sub

Ten en cuenta que en el ejemplo anterior, "Subformulario" es el nombre del subformulario y "Me.txtCodigo" se refiere a la caja de texto en el formulario principal. Si la consulta se utiliza directamente en el formulario principal, simplemente cambia "Subformulario.Form" por "Me.Form".

Espero que esto te ayude a resolver tu problema.
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