J'ai des problèmes avec l'exécution de ServerFilterByForm dans Access 2003 Lorsque j'applique le filtre entré, il renvoie les données demandées mais après qu'elles apparaissent à l'écran (formulaire) ça disparaît. Je ne sais pas pourquoi cela se produitMS Access: Ordre des événements dans l'événement ApplyFilter (projet ADP)
Est-ce que quelqu'un a eu le même problème? Comment peut-il être résolu? Voici une partie du code »
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
Dim stSql As String
If Len(ServerFilter) > 0 Then
stSql = "SELECT * FROM v_InitialReviewQuery " & _
" WHERE " + ServerFilter & _
" ORDER BY acctnumber"
Else
stSql = "SELECT top 1 * FROM v_InitialReviewQuery ORDER BY acctnumber"
End If
Me.RecordSource = stSql
End Sub
Je doute que cela résoudrait le problème, mais il est important d'utiliser le bon opérateur de concaténation. & est pour la concaténation normale (ignore Nulls) et + est pour propager Nulls. Null & "String" = "String", tandis que Null + "String" = Null. –
J'ai fait le changement et obtenu les mêmes résultats. La valeur de mon filtre de serveur dépend de ce que l'utilisateur utilise pour le filtre. Disons que l'utilisation de Contient une partie de la chaîne "Her" sur le champ sFirstName la valeur de ServerFilter est sFirstName Like "% Her%". Maintenant, lors du débogage, je peux voir que les valeurs demandées sont dans Access. Mais après avoir rafraîchi la page, toutes les informations ont disparu de l'écran. J'ai besoin de filtrer à nouveau avec les mêmes valeurs pour obtenir les informations à l'écran. – JAVH