Problème Access
J'ai essayer avec ce genre de code :
SQL = "SELECT FrmAnswerAllQueries.FLangage FROM FrmAnswerAllQueries Where FrmAnswerAllQueries.FLangage =(Me![Combo9.Value])"
(FrmAnswerAllQueries = Formulaire ou on devrait voir les enregistrements avec les différentes valeurs sélectionnées dans les combo.. Et FrmAskAllQueries = Là ou il y a les combobox.)
Si quelqu'un pouvait m'aider ca le ferait bien bien quoi :)
Merci d'avance..
32 réponses
Un formulaire Access comportant cinq combobox doit afficher les enregistrements correspondant aux valeurs sélectionnées dans chacune d’elles, mais la construction SQL et le passage des valeurs posent problème. Les échanges montrent que l’utilisateur tente d’utiliser une clause WHERE unique puis multiple, et que des erreurs surviennent comme le champ Combo9 introuvable ou des résultats non filtrés. Plusieurs réponses suggèrent d’échapper les valeurs avec des guillemets et de concaténer avec Me![Combo9], de vérifier l’existence du champ et d’utiliser les paramètres d’ouverture du formulaire plutôt que de forcer du SQL. En cas de correction, il apparaît que le nom Combo9 existe mais l’accès à sa valeur dépend du moment où le formulaire est ouvert ou activé, d’où la nécessité d’un déclenchement adapté.
-
C'est ok le problème est réglé. J'ai enfin fini :)
Merci pour tout! -
ModérateurTu peux mettre TRUE ou FALSE, c'est une valeur connue de VB..., mais -1 est connu aussi... :-)
Mais j'ai pas tout compris à la façon dont tu voulais agencer ta requête...
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
Ok!
Et j'peux mettre ca comme ca a la suite :AND TblCustomer.FAMChecked = '" + (Check16.Value) + "';"
Ou bien j'dois le mettre avec le =-1 mais apres le then j'mets quoi? -
ModérateurNon, c'est aussi .value
-1 = coché
0 = non coché
if zone_de_check.value = -1 then....
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
J'me rend compte que j'ai oublier de te demander qqch lol...
Pour les checkBox c'est aussi Check.Value ? Pcq j'mets ca et ca me mets une erreur Mismatch...
Ya pas un truc style check.Checked ou quoi? -
A l'aise merci pour tout!!!!
-
ModérateurCe que je t'ai fait faire, c'est écrire une requête stockée dans la variable SQL (que l'on peut visualiser en faisant msgbox SQL). Ensuite, on ouvre le formulaire et on lui dit de chercher les informations qu'il doit afficher en exécutant la requête stockée dans SQL, grâce au mot-clé RECORDSOURCE...
Pour le reste, c'est ce que je voulais que tu fasses depuis le début, afficher la requête pour voir si elle avait une tête correcte...
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
Ah ca y est j'ai trouvé... tain j'ai du mal..
J'devais en fait mettre a la place des FrmAnswerAllQueries la source du formulaire...
Erf quoi.. -
Ah ok pas grave lol..
Hum le MsgBox fonctionne bien wai!Est-ce que tes champs et tes tables ont les noms tels qu'ils apparaisssent dans la requête ?
: J'vois pas de quelle requête tu parles mais si c'est le code vb bah ouai tout est correct..
Ptet aussi que tu veux parler du fait que mes sources de combobox sont dans des tables annexes?
Si oui bah voilà le détail :
Combo1:Langue=>Vient de TALangues.
Combo2:SalesRep=>Vient de TASalesRep.
Combo3:Speciality=>Vient de TASpeciality.
Combo4:Business=>Vient de TABusiness.
Combo5:Fonction=>Vient de TAFunction.
Un MsgBox SQL je sais pas trop comment faire ca :-/
Et j'suis en access 2000 anglais.
voilà j'espere ne pas avoir été a coté de la plaque.
Merci -
ModérateurPositivement désolé !!! :-(
Je voulais mettre "tu T'emm" et j'ai fourché du clavier pour mettre "tu M'emm...", ce qui n'était évidemment pas mon intention (je vais quand même pas abandonner si près du but !).
Un msgbox combo9.value marche ?
Est-ce que tes champs et tes tables ont les noms tels qu'ils apparaisssent dans la requête ?
Peux-tu faire un msgbox SQL pour voir si la syntaxe est correcte...
T'es en quelle version de ACCESS (97, 2002, anglais, français... ?)
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
Hum je voudrais pas t'emm... lol mais ca dit ca maintenant comme erreur : "Microsoft Access can't find the field '|' reffered into your expression"
Nan mais si ca te prend la tête laisse tomber hein..
Merci :) -
ModérateurBon ben, tu m'emm... pas, tu colles ce bout de code dans l'appui sur le bouton :
Dim SQL As String DoCmd.OpenForm "FrmAnswerAllQueries" SQL = "SELECT FrmAnswerAllQueries.FLangage FROM FrmAnswerAllQueries Where FrmAnswerAllQueries.FLangage = '" + [Combo9.Value] + "' ;" Forms![FrmAnswerAllQueries].RecordSource = SQL
Ca devrait aller mieux !
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
Bah ouai j'ai le premier formulaire avec toutes les listbox et quand je clique sur le bouton c'est censé ouvrir celui avec les enregistrements avec les valeurs sélectionnées dans les listbox du premier formulaire
-
ModérateurTu l'affiches quand ton formulaire ?
Quand on appuie sur un bouton ?
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
Ouep j'avais déjà fait ca avec les macros et l'action OpenForm mais il n'y a pas assez de places pour toutes les conditions... Il m'avait couper mon code... J'vois pas comment faire d'autre
-
ModérateurEn principe, on ne filtre pas les données avec du SQL quand le form est ouvert, cela se fait à l'ouverture, dans les paramètres de openform.
Il y a un truc qui est noté clause where...
Regarde l'aide, tu en sauras plus...
A mon avis, lorqsue tu ouvres le form, il te positionne dedans et n'est plus capable de récupérer la valeur de la zone combo9 qui est ailleurs...
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
Ben ouai c'est pour que dans le formulaire AnswerAllQueries on ne voit par exemple que les anglais.. Mais si il n'y avait que ca ca aurait été "facile". Sauf que dans mon cas j'dois tenir compte de 5 combobox en fait... Déjà si j'arrive pas a faire la 1ere ^^
-
ModérateurLe code que tu mets, c'est pour filtrer les données dans l'affichage du formulaire que tu viens d'ouvrir ?
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
-
Ca donne tjs la même chose.
J'parie que c'est un truc tou con en plus ca m'ennerve -
ModérateurSuprime le with et le end with...
A+ Blux"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
- 1
- 2