Variable dans un nom de champs

Résolu
cs_mb95 Messages postés 40 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 30 septembre 2012 - 17 sept. 2006 à 12:11
cs_mb95 Messages postés 40 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 30 septembre 2012 - 17 sept. 2006 à 20:24
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

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
17 sept. 2006 à 17:50
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)
3
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
17 sept. 2006 à 17:21
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.
0
cs_mb95 Messages postés 40 Date d'inscription lundi 1 décembre 2003 Statut Membre Dernière intervention 30 septembre 2012
17 sept. 2006 à 20:24
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
0
Rejoignez-nous