Toucher un champ de recordset sans avoir le nom des champs?

Résolu
cs_sansoucis Messages postés 6 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 13 juillet 2004 - 12 juil. 2004 à 15:23
damedom41 Messages postés 79 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 2 août 2014 - 27 juin 2014 à 19:02
Bonjour,
Bon je pense que mon sujet est loin d'être clair : en fait j'ai un recorset ("dim mod_obj as recorset") qui est initialisé avec une requete ("Select nom, prenom from client"). Mon recordset contient bien tout ce que je veux mais j'ai un petit soucis car j'aimerais que mon code soit à 100% générique. Conclusion je ne veux pas faire "mod_obj!nom" pour toucher la colonne "nom" ; je voudrais me servir de la variable nom qui est ds une TextBox (TB_nom).
Or "mod_obj!TB_nom.text" ne marche pas et
mod_obj![& TB_nom.text &] non plus....
Alors est-ce que quelqu'un pourrait m'aider SVP?
Merci d'avance.

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 juil. 2004 à 17:58
Salut sansoucis
Pour accéder aux données du Recordset sans connaitre le nom des champs, il suffit de faire :
MonRecordSet.Fields(0) ' 1ere champ = Nom
MonRecordSet.Fields(1) ' 2ème champ = Prénom

Vala
Jack
3
cs_sansoucis Messages postés 6 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 13 juillet 2004
13 juil. 2004 à 09:28
Merci jack,
en effet j'ai trouvé cette solution à laquelle on peut ajouter :
MonRecordSet.Fields(0).value -> retourne la valeur
MonRecordSet.Fields(0).name -> retourne le nom du champs/de la colonne

En tout cas merci!
3
damedom41 Messages postés 79 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 2 août 2014
27 juin 2014 à 19:02
Si tu transfères ta requête dans une liste déroulante lst_noms, alors le premier champ est accessible via :
dim txt_nom, txt_prenom as string
txt_nom = lst_noms.column(0, lst_noms.listindex)

listindex étant le numéro de la ligne sur laquelle tu viens de cliquer
tu peux aussi forcer pour ne recevoir que la première ligne en remplaçant listindex par 0
Attention, lignes et colonnes vont de 0 à n, pas de 1 à n.
Dans le même genre, si tu as un recorsdet myrecorset, tu peux récupérer la valeur du recordset en codant :
dim txt_nom, txt_prenom as string
txt_nom = myrecordset(0) 
txt_prenom = myrecordset(1)

pour le premier champ etc.
0
Rejoignez-nous