|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() olivier Assistant aux utilisateurs Inscription : février 2011 Messages : 7 ![]() |
Bonjour,
je suis nouveau , autodidacte et un débutant pour moi est un expert . Voilà le décor est planté . J'ai bien lu le post " A lire avant de poster" ; ça fait peur ... j'espère que ma demande sera prise en compte . La situation: j'ai une combobox dans un formulaire basée sur une requête elle même basée sur une table Ex:Tbl_Users . Je récupère trois champs : champ1 : [ID_User] de type Num et Long Ex: 1001234 champ2 : [nom] de type texte Ex: Untel champ3 : [prenom] de type texte Ex: toto le champ lié est le champ1 et il est caché (0cm;2cm;2cm) pour que soit affiché le nom dans la combobox Sur l’événement change de la combobox je vais parcourir la table1 Ex:Tbl_Data à la recherche de l'ID_User sélectionné (1001234) pour récupérer les valeurs de certains champs dans les enregistrements qui seront trouvés . Le problème: Dans ma boucle quand je trouve une correspondance entre ID_User de ma combobox et l'ID_User de la table Tbl_Data, le type de ma valeur combobox est de type texte "1001234" (alors quelle est bien numérique) et le type de la valeur trouvée dans Tbl_Data est numérique 1001234 . Comme les deux type sont différents la correspondance ne se fait pas et les données ne sont pas récupérées. Le constat: Cela fonctionne bien quand dans ma combobox j'affiche l'ID_User (1cm;2cm;2cm) mais c'est l'ID_User( Ex:1001234) que l'on voit dans la combobox et pas le nom (Ex:Toto). La demande: Je ne sais pas comment faire pour que soit affiché le nom Toto dans ma combobox et que la valeur dans la boucle soit 1001234 et non "1001234" Pourriez vous me guider svp. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
bonjour
Dans ta boucle, tu atteints la veleur de la 1ère colonne en faisant: @+ |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() olivier Assistant aux utilisateurs Inscription : février 2011 Messages : 7 ![]() |
Citation:
Le problème reste entier . la valeur récupérée est toujours de type texte Ex : "1001234" et non de type numérique Ex:1001234 . en info complémentaire , j'utilise l'assistant pour la requête qui incrémente ma combobox et non du code car je ne sais pas faire . Je ne peux donc pas tester et suivre l'exemple que j'ai trouvé dans un post ou en SQL on affiche deux champs dans la combobox Ex: 1001234 Untel . Peut être que ce serait une solution ? je crois que c'est du style : Code :
"SELECT champ1 ' " & : & " 'champs2 FROM Tbl ;" ++ |
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Pierre ANTOINEInscription : février 2008 Messages : 650 ![]() |
bonjour
Je pense que nous aurions besoin de savoir quelle est la source de la combo box. Pour cela, ouvrir le formulaire en mode création. sélectionner la combo afficher les proprétés, 2nd onglet ("données") ligne "contenu". si vous pouviez nous la poster, cela nous aiderait à comprendre. ceci dit, selon toute vraisemblance, on récupère une valeur texte. Etes-vous sûr que dans votre table Tbl_Users, le champ [ID_User] est numérique? Pierre |
|
|
00
|
|
|
#5 | |||
|
Invité de passage
![]() olivier Assistant aux utilisateurs Inscription : février 2011 Messages : 7 ![]() |
Citation:
merci de vous intéresser à mon cas . je tiens à rappeler que les tables et champs cités sont des exemples car je voulais essayer de faire court et que le but du code sur le clic d'un bouton , par exemple , est d'incrémenter une table temporaire (Tbl_Tmp) à partir d'une autre table (Tbl_Affect) , en vue d'un formulaire ou état , avec seulement une partie d' enregistrements trouvés suivant une condition. Donc : oui dans la Tbl_Users, le champ [ID_User] est numérique. voici le contenu SQL de l'onglet données/contenu. Code :
SELECT RSel_CollabDeBigBoss.ID_HRA, RSel_CollabDeBigBoss.Nom, RSel_CollabDeBigBoss.Prenom FROM RSel_CollabDeBigBoss WHERE (((RSel_CollabDeBigBoss.ID_HRA)<>1418 And (RSel_CollabDeBigBoss.ID_HRA)<>1616)) ORDER BY RSel_CollabDeBigBoss.Nom, RSel_CollabDeBigBoss.Prenom; ceci étant dit , je ne pense pas que le problème vienne de là car dans l'onglet format de la combobox je prends 3 colonnes (ID_HRA,Nom,Prenom) et suivant le choix de la largeur de la colonne 1 (ID_HRA) si la largeur = 0 pour que dans la combobox ce soit le nom qui s'affiche alors la valeur renvoyée dans ma boucle est de type texte "1003607" , si la largeur = 1 c'est l'ID_HRA qui s'affiche dans la combobox et alors la valeur renvoyée dans ma boucle est de type numérique 1003607 . Ce que aimerais avoir , s'est afficher le nom dans ma combobox et que dans ma boucle la valeur retournée soit numérique 1003607 . si ça peut aider voici le code sur clic du bouton : Code :
++ |
|||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() olivier Assistant aux utilisateurs Inscription : février 2011 Messages : 7 ![]() |
bon j'ai réglé mon problème par une combine , ce qui ne régle pas le problème initial mais bon . " si la route est barrée , prends un autre chemin
pour finir je garde la solution ou s'affiche l'ID_HRA dans la combo (puisque ça fonctionne pourquoi se priver) et j'ajoute à mon formulaire deux textbox , une pour le nom , une pour le prenom avevec comme source : pour le nom pour le prenom je ne ferme pas ce post de suite car si une solution au problème initial peut être apportée , je suis preneur . Encore merci à keita et pierre pour leur réponses . ++ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com