Access - modificar Consultas de subformularios

 
Vista:

modificar Consultas de subformularios

Publicado por Txiki (4 intervenciones) el 18/04/2008 13:15:52
Hola y gracias de antemano,
la verdad es que soy nuevo con el access y no sé si estoy haciendo las cosas bien.
Tengo un formulario con un subformulario en el que muestro los datos de los clientes.
En el formulario tengo un combo en el que selecciono la provincia y tengo que acotar los resultados del subformulario a los clientes de la provincia seleccionada.
En el evento del combo "AfterUpdate" estoy intentando actualizr el subformulario, pero lo más que consigo es que vuelva a realizar la consulta de carga con el requery, pero no modificar la consulta para que acote los resultados.
No sé si estoy definiendo bien el subformulario, si lo que no sé es la propiedad correcta, si me está cascando el VB por que no utilizo bien la sintaxis para acceder a la propiedad...
¿Alguien puede echar un poco de luz sobre esta penumbra?
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

RE:modificar Consultas de subformularios

Publicado por Enrique (1299 intervenciones) el 18/04/2008 20:56:29
Hola Txiki:
Voy a suponer que has dejado el nombre del Combo con el que le pone Access al crearlo ( Cuadro_Combinado0 ) y al Subformulario tambien con el nombre que le da Access ( Secundario0 ). En el Origen de la Fila del Combo pones la Consulta para que solo aparezcan las Provincias, o sea, una sola Columna y debes poner la consulta con "agrupar por" en el campo "Provincia" para que no las repita en el Combo.

Ahora lo que hay que hacer es cambiar el Origen del Registro del Subformulario (el RecordSource) desde el Evento "Después de actualizar" del Combo:

EVENTO EN EL FORMULARIO PRINCIPAL:
Private Sub Cuadro_combinado0_AfterUpdate()
Me.Secundario0.Form.DataEntry = False
Me.Secundario0.Form.RecordSource = "Select * From Tabla1 Where Provincia ='" & Me.Cuadro_combinado0.Value & "'"
'NO ES NECESARIO HACER UN REQUERY AQUÍ
End Sub

EVENTO EN EL SUBFORMULARIO:
Private Sub Form_Load()
Me.DataEntry = True
End Sub

Solo tienes que cambiar Tabla1 por el nombre de tu Tabla. El Me.DataEntry = True en el Subformulario y la línea Me.Secundario0.Form.DataEntry = False en el formulario principal, son para que al abrir el formulario principal, no salga ningún registro en el subformulario y al actualizar el Combo aparezcan solo los filtrados. Si eliminas ambos, al abrir se verán todos los registros sin filtrar, ya que el subformulario debe tener la Tabla como Origen del Registro.

Saludos
Enrique
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

Gracias

Publicado por Txiki (4 intervenciones) el 24/04/2008 09:34:08
Gracias por la ayuda, parece que va bien.
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

RE:modificar Consultas de subformularios

Publicado por Miguel Montalvo (1 intervención) el 07/06/2010 22:42:01
Enrique:

Muchas gracias por lo que has explicado aquí. Me ha sido de mucha utilidad.

Un saludo,

Miguel.
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

RE:modificar Consultas de subformularios

Publicado por Diana (1 intervención) el 01/12/2012 18:02:49
Muchas Gracias por la ayuda... me sirvió mucho... Quisiera saber si tienes un ejemplo en donde yo pueda ejecutar una consulta en VB y el resultado meterlo en una variable para validar algunas cosas por ejemplo que quiera vender un producto y cuando lo seleccion el consulte si hay en stock y si no hay que me salga un mensaje diciendo que esta agotado... 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