Aplicar filtro formulario access

Necesito ayuda para resolver un problema con <span>applyFilt</span>er

Tengo un formulario con un listado de registros y tengo dos TxtBox independientes donde al introducir valores en ambos, por medio de un botón me filtra aquellos registros que cumplen con los criterios de los TxtBox.

TxtBox1 que me filtra valores de texto del campo Orden de Compra y TxtBox2 que me filtra valores numéricos del campo Código S

Al botón le asigne el siguiente código:

Private Sub Comando39_Click()
DoCmd.ApplyFilter , "([Orden de compra] = '" & Me.TxtBox1 & "') And ([Código S] = " & Me.TxtBox2 & ")"
Dim strCriteria As String
strCriteria = ""
If Nz(Me!TxtBox1, "") <> "" Then
strCriteria = strCriteria & " AND [Orden de Compra] = '" & Me!TxtBox1 & "'"
End If
If Nz(Me!TxtBox2, "") <> "" Then
strCriteria = strCriteria & " AND [Código S] = " & Me.TxtBox2 & ""
End If
If Len(strCriteria) > 0 Then
strCriteria = Trim(Mid(strCriteria, 5))
DoCmd.ApplyFilter , strCriteria
End If
Me.OrderBy = "año, [Modalidad de compra], [Descripción]"
End Sub

El problema es que me dice que sobra un parámetro.

1 respuesta

Respuesta
1

Prueba de esta otra forma:

Private Sub Comando39_Click()
Dim strCriteria As String
strCriteria = ""
If Nz(Me!TxtBox1, "") <> "" Then
strCriteria = strCriteria & " AND [Orden de Compra] = '" & Me!TxtBox1 & "'"
End If
If Nz(Me!TxtBox2, "") <> "" Then
strCriteria = strCriteria & " AND [Código S] = " & Me.TxtBox2
End If
If Len(strCriteria) > 0 Then
strCriteria = Right(strCriteria,Len(strCriteria)-5)
DoCmd.ApplyFilter , strCriteria
End If
Me.OrderBy = "año, [Modalidad de compra], [Descripción]"
End Sub

Si Código S es un campo numérico, te sobra la comilla simple que le añades al filtro al final.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas