Bonjour à tous
Je me tourne vers vous, car mes recherches sur Internet n’ont pas été fructueuses. La solution est peut-être évidente, mais je n’ai pas réussi à mettre le doigt dessus… Donc un grand merci à ceux qui partageront leurs solutions.
J’ai donc, dans un formulaire de consultation Clients, une requête paramétrée intégrée filtrée. Dans une zone de texte, j’ai organisé une recherche simultanée sur le CodeClient et le NomClient. Il y a aussi 3 filtres (1 par un groupe d’options, et 2 en dur). J’ai aussi 2 boutons (suivant et précédent) pour la navigation et un compteur d’enregistrement (du type 1/12 … c’est un exemple). Le tout avec un peu de VBA pour rafraichir les données.
Tout fonctionne très bien au niveau de la navigation, du filtrage et de la recherche. Mais si, dans ma zone de recherche, je mets un texte qui ne peut-être trouvé par la requête (donc avec zéro enregistrement retourné), tout ce qui se trouve dans la zone détail disparait (étiquettes, zones de texte, rectangles, sous-formulaire, …). Il ne reste visible que les éléments de l’en-tête et du pied du formulaire. Je suppose que c’est parce que la propriété du formulaire "Type Recordset" est en "Feuille de réponse dynamique" ????
Ma question est donc : Si la requête ne retourne aucun enregistrement, existe-t-il une méthode pour conserver visible les contrôles (vides de toute information bien sûr) dans la partie détail du formulaire, et si la requête retourne plusieurs enregistrements de pouvoir toujours naviguer dans les enregistrements sélectionnés ?
Je vous mets pour information ma requête de base, qui fonctionne dans mon formulaire ... sauf quand aucun enregistrement n'est retourné
Encore merci d’avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_Clients.CodeClient, T_Clients.NomClient, T_Clients.Encours, T_Clients.CoordValide, T_Clients.ClientActif FROM T_Clients WHERE (((T_Clients.CodeClient) Like "*" & [Formulaires]![F_Coordonées_Clients]![RechercheClient] & "*") AND ((T_Clients.Encours)>0) AND ((T_Clients.CoordValide)>=[Formulaires]![F_Coordonées_Clients]![Gp_CoordValid]) AND ((T_Clients.ClientActif)=Yes)) OR (((T_Clients.NomClient) Like "*" & [Formulaires]![F_Coordonées_Clients]![RechercheClient] & "*") AND ((T_Clients.Encours)>0) AND ((T_Clients.CoordValide)>=[Formulaires]![F_Coordonées_Clients]![Gp_CoordValid]) AND ((T_Clients.ClientActif)=Yes));
Partager