scromania
Messages postés452Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention11 janvier 2013
-
30 mars 2011 à 12:32
scromania
Messages postés452Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention11 janvier 2013
-
5 avril 2011 à 16:05
bonjour,
Je vais vers vous car je sèche,voici mon problème
les noms des champ d'une table son des chiffres ex 1,2,3,4,5,6
je ne peux pas les modifiés car c'est un automat qui me génère les tables.
j'ai essayer de faire :
Dim cmd As New OleDb.OleDbCommand
Dim rd As OleDb.OleDbDataReader
Dim obj As ListViewItem
cmd.Connection = cnx
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT * FROM En_cours"
cnx.Open()
rd = cmd.ExecuteReader
While rd.Read
obj = New ListViewItem
If Not IsDBNull(rd.Item("Date")) Then
obj.Text = rd.Item("Date")
Else
End If
If Not IsDBNull(rd.Item("Time")) Then
obj.SubItems.Add(rd.Item("Time"))
Else
obj.SubItems.Add("")
End If
If Not IsDBNull(rd.Item("['1']")) Then
obj.SubItems.Add(rd.Item("['1']"))
Else
obj.SubItems.Add("")
End If
frmPrincipale.lsvListMesure.Items.Add(obj.Clone)
obj = Nothing
End While
rd.Close()
rd = Nothing
cmd = Nothing
j'ai essaye plusieurs chose ['1'],('1'),1,'1' etc...
Impossible de continué il plante auriez vous une solution svp sans renommer les en tete de colonne
Merci par avance
Cordialement
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 mars 2011 à 12:38
Salut
Apparemment, tu n'as pas essayé la bonne !
Essaye simplement [1], mais il est possible que les noms de champs doivent obligatoirement contenir une lettre ...
Au pire, adresse-toi au champ par son numéro d'ordre et pas par son nom :
En supposant que le champ nommé "1" soit le 10ème paramètre, essaye ceci :
rd.Item(9)
9 car il me semble que les champs sont numérotées à partir de 0 et pas 1 (à confirmer, sinon, tu mets 10 à la place)
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
scromania
Messages postés452Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention11 janvier 20139 30 mars 2011 à 16:07
merci de ta réponse j'ai essayer les 2 rien a faire donc je te recap.
Je n'est pas evoqué plus haut la bdd et un fichier DBF que j'exploite avec vfpoledb j'ai 22 colonnes utilisé.
Pour les 3 première colonnes les champs sont Date Time et eval le tout en texte donc pas de problème les autres sont des chiffres 1,2,3,4 etc
j'ai essayer
rd.Item(3)
sa fonctionne très bien et lorsque je met rd.Item(4) il me dit:
L'index se trouve en dehors des limites du tableau.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 mars 2011 à 19:53
Que donne rd.Item.Count ?
Je pense que ça existe (connais pas)
rd.Item(3)
te renvoie la valeur de :
- la troisième colonne ? -> numérotation à partir de 1
- la quatrième colonne ? -> numérotation à partir de 0
- la colonne intitulée "4" ? -> Mauvaise interprétation : il confond le champ d'index 4 avec le champ appelé 4 -> il faut trouver une autre syntaxe -> replonge toi dans l'aide