Access - Problemas con lista // SQL // VBA access

 
Vista:
sin imagen de perfil

Problemas con lista // SQL // VBA access

Publicado por FLORENCIA (1 intervención) el 04/01/2022 20:00:25
Hola! Estoy construyendo un multi buscador que puede buscar por categorías de registros (clientes / polizas / objetos) y por campos. Por ejemplo: al seleccionar "buscar por poliza" una nueva lista se hace visible y me permite elegir si deseo buscar por "poliza" o por "compania".

A su vez, tengo polizas "vigentes" "no vigentes" y "proximamente vigentes" (este dato queda guardado en el campo "VIGENCIA"

Mi buscador tiene una casilla de verificacion: cuando esta activa busca SOLO VIGENTES y cuando esta desactivada muestra todos los resultados sin ese filtro (vigentes + no vigentes + proximamente vigentes)

PROBLEMA: cuando ingreso el siguiente codigo me indica error. ya probe mil formas y no logro solucionarlo. Aparece "error de compilacion: se esperaba fin de la instruccion"



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub Busca_AfterUpdate()
Select Case Me.Busqueda
 
'selecciono buscar por POLIZA
Case Is = "3"
 
'si casilla "vigencia"
    If Me.VIGENTE.Value = 0 Then
 
        Select Case Lista1
               Case Is = "POLIZA"
        Me.listaPZA.RowSource = "SELECT POLIZAS.POLIZA, POLIZAS.COMPANIA, POLIZAS.VIGENCIA, POLIZAS.INICIO, POLIZAS.FIN, POLIZAS.Vigencia FROM POLIZAS WHERE (((POLIZAS.POLIZA) Like '*" & Busca.Text & "*') AND ((POLIZAS.Vigencia)<>"VIGENTE")) ORDER BY POLIZAS.[FIN] DESC;"
 
               Case Is = "COMPANIA"
        Me.Lista0.RowSource = "SELECT POLIZAS.POLIZA, POLIZAS.COMPANIA, POLIZAS.VIGENCIA, POLIZAS.INICIO, POLIZAS.FIN, POLIZAS.Vigencia FROM POLIZAS WHERE (((POLIZAS.COMPANIA) Like '*" & Busca.Text & "*') AND ((POLIZAS.Vigencia)<>"vigente")) ORDER BY POLIZAS.FIN DESC;"
               End Select
    End If
 
 
    If Me.VIGENTE.Value = -1 Then
        Select Case Lista1
 
        Case Is = "POLIZA"
        Me.listaPZA.RowSource = "SELECT POLIZAS.POLIZA, POLIZAS.COMPANIA, POLIZAS.VIGENCIA, POLIZAS.INICIO, POLIZAS.FIN, POLIZAS.Vigencia FROM POLIZAS WHERE (((POLIZAS.POLIZA) Like '*" & Busca.Text & "*') AND ((POLIZAS.Vigencia)="VIGENTE")) ORDER BY POLIZAS.[FIN] DESC;"
        Case Is = "COMPANIA"
        Me.Lista0.RowSource = "SELECT POLIZAS.POLIZA, POLIZAS.COMPANIA, POLIZAS.VIGENCIA, POLIZAS.INICIO, POLIZAS.FIN, POLIZAS.Vigencia FROM POLIZAS WHERE (((POLIZAS.COMPANIA) Like '*" & Busca.Text & "*') AND ((POLIZAS.Vigencia)="vigente")) ORDER BY POLIZAS.FIN DESC;"
        End Select
    End If
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

Problemas con lista // SQL // VBA access

Publicado por Anonimo (3315 intervenciones) el 05/01/2022 02:58:20
El error es que un Select Case ha de finalizar con un End Select.

En lo expuesto se aplica el End Select DENTRO de cada condicional IF y para Access no existe (no lo pude 'ver' o vería mas de uno), a lo sumo 'entendería' un Exit (pero no lo tiene el 'Select Case').

Se supone que si cumple un Case cualquiera, el Select Case se da por finalizado
(por eso existe la opción CASE ELSE por si no se cumple ninguna de las opciones programadas)
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