Variable dans un nom de champs

Résolu
Messages postés
40
Date d'inscription
lundi 1 décembre 2003
Statut
Membre
Dernière intervention
30 septembre 2012
-
Messages postés
40
Date d'inscription
lundi 1 décembre 2003
Statut
Membre
Dernière intervention
30 septembre 2012
-
Bonjour,
voici le pb
Windows XP, VB, Base Acces 2000, connectée DAO 3.6

J'alimente un  un recordset avec une requete SQL  portant sur un champs par une variable.
StrTrie= "Nom"

  SQLname = " SELECT DISTINCT " & "" & StrTrie & ""
   SQLname = SQLname & " FROM Films ORDER BY "
   SQLname = SQLname & "" & StrTrie & ""

Set RsTrie = DbCinematheque.OpenRecordset(SQLname)

Jusque la tout va bien, mais pour recuperer la premiere lettre du contenue du champs 
  maVariable = UCase$(Left(RsTrie!Nom), 1))  par la memes variable j'ai des pb de syntaxe ou
une erreur champs vide.

Quelle serait si c'est possible (??) la syntaxe juste pour
maVariable = UCase$(Left(RsTrie(StrTrie)), 1))

ou sachant que le recordset ne contient qu'un champs le moyen de recuperer cette valeur.

en esperant avoir ete assez clair.
Merci de votre aide.

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Petite correction : Les noms des champs ne doivent pas être encadrés par des " ou '.
Par contre, par précaution, si le nom du champ comporte (ou peut comporter) des espaces ou autres accents, il vaut mieux l'encadrer tout de suite avec des crochets [ et ], même si ce n'est pas utile, ça évitera les futures erreurs.
   SQLname = "SELECT DISTINCT[" & StrTrie & "] " & _
             "FROM Films " & _
             "ORDER BY [" & StrTrie & "]"

Juste un doute :
Tu veux récupérer la première lettre du nom du champ ou d'une des données de ce champ ?
Si c'est le nom du champ, il faut travailler avec  RsTrie.Fields(0).Name
Si c'est la donnée, avec  RsTrie.Fileds(0).Value
(Le (0) correspond à la première colonne (premier champ) du RS)
En fait, tu ne peux pas insérer le nom dynamique (représenté par une variable) avec la syntaxe utilisant un !

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

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Salut, à première vue, tu as une parenthèse en trop :
maVariable = UCase$(Left$(RsTrie(StrTrie)<strike>)</strike>, 1))

En dehors de ça, je ne comprend pas où est ton problème.
Messages postés
40
Date d'inscription
lundi 1 décembre 2003
Statut
Membre
Dernière intervention
30 septembre 2012

Bonsoir

Le pb portait sur donc sur l'insertion d'un nom dynamique dans une syntaxe utilisant un !.
La solution de jack permet de contourner le probleme.
Merci  de votre aide!

marc