Filtro de formulario con 6 criterios
Publicado por Zirado (12 intervenciones) el 20/03/2018 14:44:20
He hecho una base de datos en Access para la empresa y ya la tengo terminada a falta de una última cosa que no logro hacer funcionar al 100%. Una vez solucione esto puedo dar la base de datos por terminada.
Se trata de un formulario con un buscador con 6 criterios distintos para filtrar los registros de un subformulario. Actualmente funcionan perfectamente 4 de ellos.
Adunto una imagen y paso a aclarar los campos que utilizo:

En el formulario principal llamado "FSuchen" tenemos los siguientes campos que utilizaremos para filtar:
xKategorie -> es un combobox . NO FUNCIONA
xAnlage -> otro combobox vinculado al anterior. NO FUNCIONA
xFamiliename -> cuadro de texto
xOrt -> cuadro de texto
xJahr -> cuadro de texto
chkVerkauft -> casilla
Estos 6 campos deben filtrar 6 campos en el subfomulario "FPSuchen", estos son:
Kategorie
Anlage
Familiename
Ort
xJahr
Verkauft
El caso es que los que dan problema son Kategiorie y Anlage, los demás funcionan correctamente. Estoy intentando solventarlo poco a poco incluyendo únicamente el campo Kategorie y cuando lo consiga pasar al campo Anlage.
Si el campo en blanco y filtro con los otros 4 funciona correctamente pero si elijo en el combobox alguna opción ya no funciona bien.

Éste es mi código
Se trata de un formulario con un buscador con 6 criterios distintos para filtrar los registros de un subformulario. Actualmente funcionan perfectamente 4 de ellos.
Adunto una imagen y paso a aclarar los campos que utilizo:
En el formulario principal llamado "FSuchen" tenemos los siguientes campos que utilizaremos para filtar:
xKategorie -> es un combobox . NO FUNCIONA
xAnlage -> otro combobox vinculado al anterior. NO FUNCIONA
xFamiliename -> cuadro de texto
xOrt -> cuadro de texto
xJahr -> cuadro de texto
chkVerkauft -> casilla
Estos 6 campos deben filtrar 6 campos en el subfomulario "FPSuchen", estos son:
Kategorie
Anlage
Familiename
Ort
xJahr
Verkauft
El caso es que los que dan problema son Kategiorie y Anlage, los demás funcionan correctamente. Estoy intentando solventarlo poco a poco incluyendo únicamente el campo Kategorie y cuando lo consiga pasar al campo Anlage.
Si el campo en blanco y filtro con los otros 4 funciona correctamente pero si elijo en el combobox alguna opción ya no funciona bien.
Éste es mi código
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
47
Private Sub xSuchen_Click()
Dim vKategorie As Variant
Dim vFamiliename As String
Dim vOrt As String
Dim vJahr As Variant
Dim vVerkauft As Variant
Dim vLargo As Integer
Dim miFiltro As String
Dim Rst As DAO.Recordset
vKategorie = Nz(Me.xKategorie.Value, "")
vFamiliename = Nz(Me.xFamiliename.Value, "")
vOrt = Nz(Me.xOrt.Value, "")
vJahr = Nz(Me.xJahr.Value, "")
vVerkauft = Nz(Me.chkVerkauft.Value, "")
miFiltro = ""
If vKategorie <> "" Then
miFiltro = "AND [Kategorie]=" & vKategorie
End If
If vFamiliename <> "" Then
miFiltro = miFiltro & " AND [Familiename] LIKE '*" & vFamiliename & "*'"
End If
If vOrt <> "" Then
miFiltro = miFiltro & " AND [Ort] LIKE '*" & vOrt & "*'"
End If
If vJahr <> "" Then
miFiltro = miFiltro & " AND [Jahr]=" & vJahr
End If
If vVerkauft <> "" Then
miFiltro = miFiltro & " AND [Verkauft]=" & vVerkauft
End If
vLargo = Len(miFiltro)
If vLargo > 0 Then
miFiltro = Right(miFiltro, vLargo - 4)
End If
Me.FPSuchen.Form.Filter = miFiltro
Me.FPSuchen.Form.FilterOn = True
Set Rst = Me.FPSuchen.Form.Recordset.Clone
If Rst.RecordCount = 0 Then
MsgBox "Es würde keine Suchtergebnisse gefunden", vbInformation, ""
Form.RecordSource = "Select * from Aux_Projekte"
Me.xKategorie = ""
Me.xanlage = ""
Me.xFamiliename = ""
Me.xOrt = ""
Me.xJahr = ""
End If
End Sub
Valora esta pregunta


0