Ititulé du recodset

Résolu
badboy6 Messages postés 9 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 22 août 2012 - 14 avril 2009 à 16:30
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 15 avril 2009 à 15:10
bonojur,

Je cherche à savoir comment on peu modifier la ligne de recherche dans un recordset. Ja fait une requète ADO dans une table access où les titre de colonne sont liés à une variable et je ne sais pas comment les récupérer dans le recordset.
exemple: rs![ma variable]
Il doit exister une syntaxe mais là je bloque!!  Quelqu'un peut-il m'aider?

6 réponses

badboy6 Messages postés 9 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 22 août 2012
15 avril 2009 à 12:55
j'ai essayer avec
rs.Fields(b) ="vrai"


et là ça marche.
merci pour l'aide, je ne connaissais pas la commande .Fields() et ça ma bien aidé.
bon courage.
3
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
14 avril 2009 à 19:15
Salut
Essaye ça
   rs.Fields("[" & ma_variable & "]")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
badboy6 Messages postés 9 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 22 août 2012
14 avril 2009 à 19:57
encore un echec. il me renvoi encore et toujours ce message.

<Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé.

J'ai bien vérifier les noms des varibles et colonne et pas d'erreur.
merci quand même
0
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
15 avril 2009 à 01:22
Si SQL te dit que ce nom de colonne n'existe pas, faut le croire.
Vérifie le contenu de ta variable et la liste des champs de la table que tu interroge.
Bien sûr, si tu veux lire le contenu d'un champ par son nom depuis le RecordSet, il faut que ce RecordSet l'ait demandé à la table

Donne nous :
- le contenu de ta requète SQL
- la liste des champs de ta table
- le contenu de ta variable
afin qu'on mette le doigt dessus

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
badboy6 Messages postés 9 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 22 août 2012
15 avril 2009 à 08:36
je pointe dans une table EQUIPEMENT ou les champs sont "POSTE1", "POSTE2", "POSTE12A" et ainsi de suite (type de donnéees OUI/NON). la partie variable du non du champ exemple "12A" et renvoyer par la variable POSTECHARGE.

je lance la requète suivante:  strQuery "SELECT * from EQUIPEMENT where " & CB_TYPEPOSTE.Text & " yes ORDER BY EQUIPEMENT ASC"
  Cmd.CommandText = strQuery
  Set rs = Cmd.Execute

jusque là pas de pb je peux charger les autres champs (EQUIPEMENT en texte et NUMAUTO en numéro auto) sans auncun problème
With LV_EQUIPEMENT.ListItems.Add(lstcount + 1, "A" & rs!NUMAUTO, FILTRE_DECODE(rs!EQUIPEMENT))
pour charger la suite il me renvoi l'erreur ou il ne trouve pas l'objet dans la collection correspondante.
dim b as string
b= "POSTE" & POSTECHARGE
  If rs.Fields("['" & b & "']") = yes Then
       .ListSubItems.Add , , "Conforme"
  Else
        .ListSubItems.Add , , "Non conforme"
  End If

FILTRE_DECODE est une fonction me permettant de supprimer les apostrophe, de remplacer les points par des virgules etc...
Un grand mereci pour ton aide la je bloque je ne peux pas changer l'organisation de la table.
0
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
15 avril 2009 à 15:10
.Field(x)
où x peut être :
- le numéro du champ dans l'ordre dans lequel il est appelé par la requète (commence à zéro)
- le nom du champ

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous