Access - filtrar por cuadros combinados en un formulario continuo por un recorset

 
Vista:
sin imagen de perfil

filtrar por cuadros combinados en un formulario continuo por un recorset

Publicado por Sergio (1 intervención) el 09/12/2016 10:47:04
Buenos días,

Trato de realizar en un formulario continuo un filtrado por cuadros combinados y me funciona correctamente hasta un máximo de cuatro criterios de búsqueda. Código que pongo abajo, pero a partir de el quinto criterio de búsqueda ya no funciona la búsqueda.

Gracias de antemano.

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
29
30
Dim CONMATERIAL As String
If Me.CC_MATERIAL = "" Or IsNull(Me.CC_MATERIAL) Then
CONMATERIAL = " LIKE '*' "
Else
CONMATERIAL = "='" & Me.CC_MATERIAL & "'"
End If
 
Dim CONINDICE As String
If Me.CC_INDICE = "" Or IsNull(Me.CC_INDICE) Then
CONINDICE = " LIKE '*' "
Else
CONINDICE = "='" & Me.CC_INDICE & "'"
End If
 
Dim CONGEOMETRIA As String
If Me.CC_GEOMETRIA = "" Or IsNull(Me.CC_GEOMETRIA) Then
CONGEOMETRIA = " LIKE '*' "
Else
CONGEOMETRIA = "='" & Me.CC_GEOMETRIA & "'"
End If
 
Dim CONTRATAMIENTO As String
If Me.CC_TRATAMIENTO = "" Or IsNull(Me.CC_TRATAMIENTO) Then
CONTRATAMIENTO = " LIKE '*' "
Else
CONTRATAMIENTO = "='" & Me.CC_TRATAMIENTO & "'"
End If
 
Me.Refresh
Form.RecordSource = "SELECT * FROM DATOS WHERE MATERIAL " & CONMATERIAL & " AND INDICE " & CONINDICE & " AND GEOMETRIA " & CONGEOMETRIA & " AND TRATAMIENTO1 " & CONTRATAMIENTO & " ORDER BY [DATOS].[NETO]"


También he tratado de poner con un subformulario los criterios y tampoco consigue cambiarlo, tiene alguna limitación???


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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Dim CONMARCA As String
If Me.CC_MARCA = "" Or IsNull(Me.CC_MARCA) Then
CONMARCA = " LIKE '*' "
Else
CONMARCA = "='" & Me.CC_MARCA & "'"
End If
 
Dim CONPROVEEDOR As String
If Me.CC_PROVEEDOR = "" Or IsNull(Me.CC_PROVEEDOR) Then
CONPROVEEDOR = " LIKE '*'"
Else
CONPROVEEDOR = "='" & Me.CC_PROVEEDOR & "'"
End If
 
Dim CONMATERIAL As String
If Me.CC_MATERIAL = "" Or IsNull(Me.CC_MATERIAL) Then
CONMATERIAL = " LIKE '*' "
Else
CONMATERIAL = "='" & Me.CC_MATERIAL & "'"
End If
 
Dim CONINDICE As String
If Me.CC_INDICE = "" Or IsNull(Me.CC_INDICE) Then
CONINDICE = " LIKE '*' "
Else
CONINDICE = "='" & Me.CC_INDICE & "'"
End If
 
Dim CONGEOMETRIA As String
If Me.CC_GEOMETRIA = "" Or IsNull(Me.CC_GEOMETRIA) Then
CONGEOMETRIA = " LIKE '*' "
Else
CONGEOMETRIA = "='" & Me.CC_GEOMETRIA & "'"
End If
 
Dim CONTRATAMIENTO As String
If Me.CC_TRATAMIENTO = "" Or IsNull(Me.CC_TRATAMIENTO) Then
CONTRATAMIENTO = " LIKE '*' "
Else
CONTRATAMIENTO = "='" & Me.CC_TRATAMIENTO & "'"
End If
Dim consulta As String
consulta = "SELECT MARCA,PROVEEDOR, MATERIAL, INDICE, GEOMETRIA, TRATAMIENTO1, TRATAMIENTO2, PVP, NETO FROM DATOS WHERE MARCA " & CONMARCA & " AND PROVEEDOR " & CONPROVEEDOR & " AND MATERIAL " & CONMATERIAL & " AND INDICE " & CONINDICE & " AND GEOMETRIA " & CONGEOMETRIA & " AND TRATAMIENTO1 " & CONTRATAMIENTO & " ORDER BY [DATOS].[NETO]"
 
Me.SUBBUSQUEDA.Form.RecordSource = consulta
Me.SUBBUSQUEDA.Form.Requery
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