poner formulario filtrar ejemplo cuadros cuadro crear como combinados combinado cascada ms-access access-vba ms-access-2013

ms-access - formulario - cuadros combinados en cascada excel



¿Cómo se filtra un subformulario de acceso con varios cuadros combinados en el formulario? (1)

Tengo varios cuadros combinados en mi formulario (acct_nbr, type, team_aud). Estoy buscando una forma de filtrar el subformulario (como una hoja de datos) en función de la selección de cada cuadro combinado. Si no se utiliza un cuadro combinado en el filtro, los datos del subformulario simplemente se filtran en los otros dos cuadros combinados.

Esto es lo que tengo hasta ahora:

Private Sub cboAccountFilter_AfterUpdate() Call FilterSubform End Sub Private Sub cboTypeFilter_AfterUpdate() Call FilterSubform End Sub Private Sub txtTeamAuditorFilter_AfterUpdate() Call FilterSubform End Sub Private Sub FilterSubform() Dim strWhere As String If Nz(Me.cboAccountFilter, "") <> "" Then strWhere = strWhere & "[acct_nbr] = ''" & Me.cboAccountFilter & " '' AND " End If If Nz(Me.cboTypeFilter, "") <> "" Then strWhere = strWhere & "[Type] = ''" & Me.cboTypeFilter & " '' AND " End If If Nz(Me.txtTeamAuditorFilter, "") <> "" Then strWhere = strWhere & "[team_aud] = ''" & Me.txtTeamAuditorFilter & " '' AND " End If If strWhere <> "" Then strWhere = Left(strWhere, Len(strWhere) - 5) Me.fsubStatsDashPrimarySix.Form.Filter = strWhere Me.fsubStatsDashPrimarySix.Form.FilterOn = True Else Me.fsubStatsDashPrimarySix.Form.Filter = "" Me.fsubStatsDashPrimarySix.Form.FilterOn = False End If End Sub

No recibo un error cuando hago clic en uno de los cuadros combinados, pero se filtran todos los datos.


Cambia tus filtros a esto:

If Nz(Me.cboAccountFilter, "") <> "" Then strWhere = strWhere & "[acct_nbr] = ''" & Trim(Me.cboAccountFilter) & "'' AND " End If If Nz(Me.cboTypeFilter, "") <> "" Then strWhere = strWhere & "[Type] = ''" & Trim(Me.cboTypeFilter) & "'' AND " End If If Nz(Me.txtTeamAuditorFilter, "") <> "" Then strWhere = strWhere & "[team_aud] = ''" & Trim(Me.txtTeamAuditorFilter) & "'' AND " End If

Editar:

Según su comentario, creo que sería:

strWhere = strWhere & "[team_aud] LIKE *''" & Trim(Me.txtTeamAuditorFilter) & "''* AND "

(Intenté dejar eso como un comentario, pero los asteriscos se interpretaron como letra cursiva debido al lenguaje de marcado de SO).