Access - CONSULTA EN FORMULARIO

 
Vista:

CONSULTA EN FORMULARIO

Publicado por ROBERTO (145 intervenciones) el 21/02/2013 19:03:57
Hola . Tengo un formulario que a su vez contine un subformulario llamado Reparaciones.
Ese subformulario tira de una consulta llamada Consulta_Reparaciones.
En el Formulario tengo dos cuadros de texto por los que busco ARTICULO Y TIPO_REPARACION.
En la consulta tengo en la primera línea de criterios que me consulte por el ARTICULO solamente y en la segunda línea de criterios que consulte por ARTICULO y TIPO_REPARACION.
El tema es que nunca me consulta bien por ARTICULO Y TIPO_REPARACION. Solo me consulta por artículo correctamente. Es decir me saca todas las reparaciones de ese artículo no me filtra por TIPO_REPARACION.

Estoy pensando hacer una consulta por código donde le diga los criterios de consulta y despues actualizar el subformulario.

A ver si alguien me dice donde falla mi consulta y si es mejor hacerla por código o no.
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

CONSULTA EN FORMULARIO

Publicado por William Alexander Brito Viñas (23 intervenciones) el 21/02/2013 22:42:05
Pregunta:

Porque no generas el valor de la propiedad Filter del formulario que muestra los resultados en el evento al cambiar el texto de los 2 cuadros de texto? Ademas si tipo de reparacion es una columna que solo toma un reducido numero de opciones posibles (o sea, no es cualquier texto), ¿por qué no usar un combobox en lugar de un textbox?
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

CONSULTA EN FORMULARIO

Publicado por ROBERTO (145 intervenciones) el 22/02/2013 10:30:54
Cuando decía que tengo 2 cuadros de texto me explique lógicamente mal. Tenco dos combobox uno para seleccionar articulo y otro para tipo de reparacion.
En la consulta si en criterios pongo el contenido del combo articulo si que me hace bien la consulta pero cuando le pongo que consulte por artículo y tipo reparacion pues solo me hace esa consulta por articulo y tipo de reparacion y yo necesito que ademas pueda consultar solo por artículo , es decir, que me muestre todas las reparaciones del artículo en cuestión si quiero y solo las reparaciones de un articulo y tipo de reparacion determinado tambien.

El tipo de reparacion es una lista de valores como: Circuito emisor, Circuito receptor, Batería y así.
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

CONSULTA EN FORMULARIO

Publicado por William Alexander Brito Viñas (23 intervenciones) el 22/02/2013 18:58:43
Saludos:

Voy a suponer lo siguiente:

Entre ambos comboboxes tienes un grupo de radiobuttons con las siguientes tres opciones:
- Y
- O
- Nada Mas

Al activarse la opcion Y o activarse la opcion O la propiedad Enable del segundo combobox se establecera a true, de lo contrario se establecera a false.

Ahora al ocurrir un cambio en cualquiera de los dos comboboxes o activarse cualquier otro radiobutton pues habria que generar una nueva clausula de filtrado para el subformulario.
REM Frame1 es el control que contiene los radiobuttons....

Dim selOp as string
Dim frmFilter as string

select case Frame1.Value
case 1:
selOp = " AND "
cbox.Enabled = true
case 2:
selOp = " OR "
cbox.enabled = true
case else:
selOp = ""
cbox2.Enabled= false
end select

frmFilter = "FldArticulo LIKE " & chr(34) & "*" cbox1.Value & "*" & chr(34)
if Frame1.Value <> 3 then
frmFilter = frmFilter & selOp & "FldReparacion LIKE " & Chr(34) & "*" & cbox2.Value & "*" & Chr(34)
end if

REM Aplicamos el filtro....
subform1.Filter = frmFilter
subform1.FilterOn = true
subform1.Requery

Este codigo deberia enlazarse a los eventos afterupdate de los comboboxes y del marco contenedor de las opciones.

Falta:
1- Validar que haya algo escrito en los comboboxes para que se porte bien.
2- Proporcionar un arranque limpio o sea que si al iniciar la pantalla la opcion es Y pues que I este activado y que se muestre resultados coherentes en el subform con los valores iniciales de los demas controles.
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