Como puedo diseñar una consulta con varios criterios

Tengo una consulta con varios tipos de Clientes (A, B, C, D, E), en el tipo de cliente le he puesto en Criterios [Selecciona Tipo]. Como puedo hacer para que cuando en el informe me solicite que introduzca el tipo de cliente, pueda poner solo A o A, B y C o Todos.

2 respuestas

Respuesta
2

José Antonio: Quizá sería más operativo, filtrar en el propio Informe y así no hipotecas una consulta para un solo informe.

En éste sentido te recomiendo: En el Evento Open del Informe>>

Private Sub Report_Open(Cancel As Integer)
Dim FiltroTipo As String
FiltroTipo = "TipoCliente LIKE '" & InputBox("Introduce el Tipo de Cliente" & vbCrLf & "Con el Asterisco(*) se mostrarán TODOS", , "*") & "'"
Me.Filter = FiltroTipo
Me.FilterOn = True
End Sub

Aparte de no dedicar la Consulta en exclusiva para el Informe, cuando pulses Aceptar directamente, se te van a mostrar todos los Registros.

Estoy suponiendo que el Campo en la Consulta se llama TipoCliente, pero si es otro nombre, tu lo cambias. Un saludo >> Jacinto

He realizado esto que tu me mandas en un informe en el que el campo el cual quiero filtrar es Cod_Cliente, yo lo que pretendo es poder seleccionar un solo cliente que en esto no tengo problemas, o varios clientes al mismo tiempo.

Ejem: seleccionar cliente: 2130

Ejem: seleccionar cliente: 2130 y 2434

Esto ultimo es lo que no se como hacer.

Gracias.

José Antonio: Ciertamente mi contestación es para elegir un valor o "Todos". El problema que ahora veo y antes de contestarte es si realmente vas a querer seleccionar >> 2130 o (2130 y 2434) o (2134 y 2434 y 2540)...

Si es una solución multiple la solución que yo veo está fuera de un InputBox y más bien en un Formulario de Filtrado previo. Mis saludos >> Jacinto

Respuesta
1

Necesitas una consulta de unión suponiendo que utilizas un combo box en un formulario.

Utiliza la cuadricula de Access y en diseño selecciona SQL, y editala, debe quedar algo como:

SELECT 0, "<<Todos>>" FROM tblTipoClientes UNION(tblTipoClientes.TipoCliente, tblTipoClientes.tipo)

Asumo que tienes una tabla con los tipo de cliente con los campos, TipoCliente ---> numérico y tipo--> texto donde puede tomar los valores A, B, C, D, E,..., etc es decir:

TipoCliente tipo

1 A

2 B

3 C

4 D

5 E ... Y así sucesivamente.

Esto permite que al hacer clic en el combo box muestre:

<<Todos>>

A

B

C

D

E

Para que el combo box muestre por defecto <<Todos>> en propiedades "Valor Predeterminado" anota 0.

Ahora en el evento del botón al hacer clic, que envías la impresión filtras por el contenido del combo box, algo como: (Digamos el el combo box se llama cboTipoCliente)

Dim strCriterio AS string

strCriterio=""

If Me.cboTipoCliente>0 then

  strCriterio="TipoCliente"= & Me.cboTipoCliente

Endif

DoCmd OpenReport mireporte,, strCriterio

NOTA: En el ejemplo si el usuario elige <<Todos>> el criterio será "" vacio

Esta es la forma más profesional de realizar estos filtros. Procura no hacerlo al abrir el informe.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas