Mettre à jour mon sous-formulaire Access selon les critères de recherches
lyoel
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous, je suis dans la conception d'un formulaire qui affiche les résultats d'une requête dans un sous-formulaire. Je voudrais mettre à jour mon sous-formulaire Access selon les critères de recherche, avec du code et des requêtes SQL, mais je n'ai pas pû le faire, ni avec la manipulation de la propriété SourceObject du sous-formulaire dans le code lors de l'événement LostFocus du champ recherche, ni avec la solution basée sur le recordset (Do until rs.EOF ... Loop).
J'ai vraiment besoin d'aide please.



J'ai vraiment besoin d'aide please.
Configuration: Android / Chrome 80.0.3987.119
A voir également:
- Access formulaire de recherche
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Formulaire de reclamation instagram - Guide
- Acer quick access - Forum Logiciels
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peux-tu tester la requête directement dans Access, sans passer pas le programme VBA?
peux-tu tester la requête directement dans Access, sans passer pas le programme VBA?
lyoel
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
J'ai placé la requête dans le sous-formulaire dans la propriété SourceObject lors de sa création. Mais je n'arrive plus à le modifier quand le critère de recherche change
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
1 584
>
lyoel
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
tester la requête en créant une requête (en récupérant le contenu de la variable req1 au moment où l'erreur se produit) et en l’exécutant, pas dans le formulaire.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
nous pourrons mieux t'aider si tu partages le texte de ton programme, et pas une image partielle, en utilisant les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
précise aussi le type des champs utilisés dans la clause WHERE de la requête.
et partage le texte du contenu de la variable req1.
précise aussi le type des champs utilisés dans la clause WHERE de la requête.
et partage le texte du contenu de la variable req1.
Excusez mon retard, j'ai dû saisir tout le code vu que j'ai utilisé mon téléphone pour me connecter à ce forum.
Voici la portion du code lié à l'événement LostFocus du champ de recherche.
Quant aux types de données des champs de ma clause WHERE, ils sont de type numérique sauf la date.
Où le formulaire est nommé frm_historique et le sous-formulaire grid_operation

J'aimerais faire en sorte qu'au choix d'une date, seules les opérations étant effectuées à ladite date soient affichées sur le sous-formulaire grid_operation.
Voici la portion du code lié à l'événement LostFocus du champ de recherche.
Private Sub txt_recherche_LostFocus() Dim req1 As String, req2 As String Dim db As DAO.Database, rs As DAO.Recordset If(txt_recherche.Value <> "") then req1="SELECT O.date_operation AS DATES, U.login AS UTILISATEURS, T.designation_operation AS OPERATIONS, M.designation_motif AS MOTIFS, O.devise_operation AS DEVISES, O.montant_operation AS MONTANTS FROM tab_operation AS O, tab_user AS U, tab_type_operation AS T, tab_motif AS M WHERE U.code_user=O.user AND T.type_operation=O.operation AND M.type_operation=O.operation AND date_operation= '" & txt_recherche & "' ORDER BY O.date_operation;" Set db= CurrentDb Set rs= db.OpenRecordset(req1) With rs If .EOF Then MsgBox "IL N'Y À EU AUCUNE OPERATION A LA DATE DU '" & txt_recherche & "' ", vbInformation, "DATE RENSEIGNEE INTROUVABLE" Exit Sub Else Do Until .EOF Forms![frm_historique].Form![grid_operation]!DATES.Value= ![date_operation] 'chaque lignes étant tout les champs correspondant aux colones du sous-formulaire Loop End If End With Else grid_operation.Requery ' on recharge le sous-formulaire End If End Sub
Quant aux types de données des champs de ma clause WHERE, ils sont de type numérique sauf la date.
Où le formulaire est nommé frm_historique et le sous-formulaire grid_operation
J'aimerais faire en sorte qu'au choix d'une date, seules les opérations étant effectuées à ladite date soient affichées sur le sous-formulaire grid_operation.