Résultat d'un formulaire

Résultat d'un formulaire - VB/VBA/VBS - Programmation

Marsh Posté le 25-01-2006 à 21:15:52    

Bonjour,  
 
Je suis en train de faire un formulaire pour effectuer des requêtes (exemple: "Quel est le prix minimum désiré : [là on tape le montant] ", mais ça j'ai réussi à faire) mais j'ai beaucoup de difficultés pour transformer des données de ce formulaire en requêtes. Je vais essayer de m'expliquer un peu mieux ...
A partir d'un formulaire, la personne choisit ce qu'elle veut afficher dans une table (exemple: nom ou prénom, nom et prénom, nom uniquement ...) et en fonction de son choix, afficher la requête correspondante sur la table. Dois-je obligatoirement effectuer toutes les requêtes possibles ?
 
Je ne sais pas si quelqu'un pourra m'aider mais j'espère vraiment que oui car je galère énormément :cry:  
 
Merci d'avance :)

Reply

Marsh Posté le 25-01-2006 à 21:15:52   

Reply

Marsh Posté le 26-01-2006 à 08:39:51    

Salut
 
Sans être un gros fénéant faut quand même faire un bout du chemin.
 
Tu dois réfléchir à une fonction qui construit dynamiquement (en évaluant le contenu des valeurs, et des sélections de ton frm) ton ordre sql
 
Cette construction porte essentiellement sur la construction de ta clause where. Comme ça, tu passera sur tous les cas que tu dois traiter en ne construisant qu'une seule requête. Cette construction peut être complexifiée à souhait en fonction des besoins.
 
La requête est construite par concaténation dans une chaine (Variable de type string).
 
My_Sql = My_Sql & "and Table1.Col1 = " & P_Frm.Champ.value
 
Il suffit ensuite d'exécuter la requête
 
conseils :
Réflechi bien à ton algo.  
Pense à pouvoir restituer ton SQL pour lecture et vérifier que la syntaxe et correcte


Message édité par maddraft le 26-01-2006 à 08:41:29
Reply

Marsh Posté le 26-01-2006 à 09:41:50    

Merci pour tes explications.
Justement c'est cette fonction que je n'arrive pas à faire :( ("... une fonction qui construit dynamiquement" ). Mon niveau en programmation est assez limité.
En fait voilà mon formulaire à quoi il ressemble:
http://sam.di.free.fr/formulaire.jpg
Il se peut que la personne demande un prix minimum et dans deux régions en particulier. Je ne vois absolument pas comment faire la fonction pour vérifier si telle ou telle zone de liste a été renseignée ou pas et comment traiter l'information si celle-ci a été renseignée :??:  
 
Merci beaucoup pour votre aide :) !

Reply

Marsh Posté le 26-01-2006 à 10:07:00    

Je t'ai pas dis que c'était facile, ni que j'allais écrire ton code.
 
La base de ton PB là tout de suite c'est de l'algo. Travaille ça et ensuite écrire ton code ira tout seul.  
 
Pour les listes, il suffit de vérifier chacune d'elle (via ses propiétés) et si il y a une selection et alors récupérer la clef si la clef est une colonne cachée.
 
Pour t'éviter de récrire 5 fois la même chose fait plutôt une fonction pour retourner la valeur des listes. Sinon c pas grave écrit 5 fois le code
 
Pour le prix il suffit de tester la valeur
 
Pour les checkboxe en fonction de l'état tu peux simplement ajouter la clause.
 
Ta fonction (function) ou procédure (sub) sera appelée à l'exécution de bouton validé
il faudra lui passer en paramètre et par référence le formulaire ci tu écrit cette fonction dans un module (Byref P_frm as form)
 
Conseils :
D'abor l'algo
Puis écrit ton code directement dans le bouton. Comme ça tu accéderas directement aux propriétes et champs du formulaire avec la syntaxe : "me." le point sert à acceder aux propriétés et methode de l'objet en référence. Il suffit ensuite de selectionner la proposition dans la liste  
 
Ensuite tu externaliseras cette resource si besoin.
 
Allez au taf
Faut que j'y aille
 

Reply

Marsh Posté le 26-01-2006 à 10:51:22    

Etant donné que je suis assez débutant en la matière, j'ai quelques difficultés à comprendre certaines choses :(  
D'abord l'algo, pour moi il n'y a pas de différence entre un algo et du code :??: Je ne vois pas trop comment vérifier une propriété d'une liste (en code bien sûr), sans parler de savoir si cette liste a été renseignée ou pas :ouch:  
 
Y'a t'il possiblité de me l'expliquer plus "bêbêtement" [:airforceone] ?

Reply

Marsh Posté le 26-01-2006 à 11:47:02    

Si tu veux apprendre y a pas de pb.
L'algo c'est une façon shématisée de décrire le fonctionnement de ton code... Il devient le squelette du code. Il y a plusieurs niveaux d'abstraction l'essentiel est de te permettre de comprendre l'ossature. Va a l'essentiel.
 
Je click
 Si liste1 contient une selection
   je récupère la valeur de la selection de la liste
   Construire la clause where
 Sinon
 ...
 finsi
 etc
 
 
Il permet de fixer les points d'entrée, les conditionelles, les boucles et de décrire les variables nécessaires.
 
Ensuite, comme tu as recencé tes objets (Liste, Champ, ...), regarde l'aide en ligne et les exemples et reproduit les exemples qui t'intéressent.  
 
Si tu panes tu pouras toujours demander une aide précise sur ton problème, la comprendre et donc la corriger.


Message édité par maddraft le 26-01-2006 à 11:48:48
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed