Filtro en Formulario con subformulario
Tengo un Formulario con unos filtros que busca los registro en un subformulario,
El problema que tengo es que el filtro “CodigoTipo” cuando quiero ver un código que sólo tenga un número con una unidad, por ejemplo en 7, me trae el 7, 17, 27, 37 ……. Es decir; todos los códigos que contengan el num 7, Ahora bien si selecciono el código 17, sólo me busca los registros que son del código 17 y así en el 27,37 …….
Alguien me podria ayudar si tengo mal el código VBA que tengo:
Muchas gracias por vuestra colaboración
El código VBA que tengo en el Formulario es :
Private Sub cmdBuscar_Click()
Dim sFiltro As String
Dim sTipo As String 'T_TipoGasto - CodigoGasto
Dim sPagador As String 'T_Pagador - CodigoPagador
Dim sFecha As String
If Not IsNull(Me.txtTipo) And Me.txtTipo <> "" Then
sTipo = "CodigoGasto LIKE '*" & Me.txtTipo & "*'"
Else
sTipo = ""
End If
If Not IsNull(Me.txtPagador) And Me.txtPagador <> "" Then
sPagador = "codigoPagador LIKE '" & Me.txtPagador & "'"
Else
sPagador = ""
End If
If IsNull(Me.txtF_Inicio) And IsNull(Me.txtF_Final) Then
sFecha = ""
Else
sFecha = "Fecha BETWEEN #" & Format(Nz(Me.txtF_Inicio, #1/1/1900#), "mm-dd-yyyy") & _
"# AND #" & Format(Nz(Me.txtF_Final, #12/31/9999#), "mm-dd-yyyy") & "#"
End If
'Construyo el Filtro
If sPagador <> "" Then
sFiltro = sPagador
End If
If sTipo <> "" Then
sFiltro = sTipo
End If
If sPagador <> "" Then
If sFiltro <> "" Then
sFiltro = sFiltro & " AND " & sPagador
Else
sFiltro = sPagador
End If
End If
If sTipo <> "" Then
If sFiltro <> "" Then
sFiltro = sFiltro & " AND " & sTipo
Else
sFiltro = sTipo
End If
End If
If sFecha <> "" Then
If sFiltro <> "" Then
sFiltro = sFiltro & " AND " & sFecha
Else
sFiltro = sFecha
End If
End If
If sFiltro <> "" Then
Me.BusquedaSubFormulario.Form.Filter = sFiltro
Me.BusquedaSubFormulario.Form.FilterOn = True
Else
Me.BusquedaSubFormulario.Form.FilterOn = False
End If
End Sub
Private Sub cmdBorrar_Click()
With Me
.txtF_Inicio.Value = Null
.txtF_Final.Value = Null
.txtTipo.Value = Null
.txtPagador.Value = Null
.FilterOn = False
End With
End Sub