0
votes

MS Access VBA - Form.Filter

Je lance une tâche pour filtrer un formulaire basé sur un mot. Text1 Code> est mon filtre ou mon mot de recherche. Je souhaite rechercher Text1 sous MyTable.name code>.

Il écrase à chaque fois. J'apprécie toute aide. P>

Private Sub Text1_AfterUpdate()
Dim strChange As String, strSQL As String, strBuilding As String

If IsNull(Me.Text1) Then
     Me!sfm.Form.FilterOn = False
Else
     Debug.Print Me.Text1

     Me!sfm.Form.Filter = "mytable.Name like '*" & Me!Text1 & "*'"
     Me!sfm.Form.FilterOn = True
End If

End Sub


1 commentaires

Le nom est un mot réservé. avez-vous essayé [mytable]. [nom]


3 Réponses :


0
votes

Utiliser nom directement sans nom de la table comme xxx

ici field_name est votre nom de contrôle au sous-formulaire. < / p>


5 commentaires

Cela ne fonctionne pas, il ouvre une petite fenêtre et demande un paramètre.


Ensuite, utilisez field_name comme . Quel est votre nom nom au sous-formulaire?


J'ai une forme principale et le formulaire utilise les données de 3 tables. Qu'est-ce que tu veux dire avec le contrôle? J'ai utilisé le même code pour une autre table et cela a fonctionné.


@ HARUN24HR: Un filtre est une "clause où" et ne contient généralement pas de conditions pour les contrôles, mais pour les champs.


@Wolfgangkais oui. C'est correct. Parfois, utilisateur conserve filedname et contrôle nom identique. Je ferai plus attention à l'avenir. Merci d'attraper.



0
votes

si nom est le nom de champ, il devrait être lu: xxx

et renommer vos commandes ( text1 ) à quelque chose de significatif - comme SearchText .


2 commentaires

Il ouvre une petite fenêtre et demande un paramètre. Lorsque je ferme cette fenêtre, je reçois une erreur de l'exécution 2101. Le même code a fonctionné pour une autre table.


Cette erreur indique un manquant ou mal orthographié nom de champ.



0
votes

Je recherche l'élément de commande de mon formulaire, trouvé un. Ce n'était pas ma table. J'ai donc changé [nom] avec [ControlElement] et cela a fonctionné. Merci beaucoup.


1 commentaires

Veuillez considérer accepter la réponse si vous constatez que cela résolvait votre problème et / ou upvote des réponses utiles.