OVH Cloud OVH Cloud

concatenation de chaine dans un datarow ?

1 réponse
Avatar
fornetora
dans l'acces a une base de donn=E9es access via vb j'ai un souci pour la
concat=E9nation des chaines de caract=E8res dans mon datarow
- je cr=E9e un dataadapter qui recup=E8re le contenu de la requete (ok)
qui remplit le dataset (ok) et je veux utiliser ce dataset pour remplir
un controle Listbox
- si je mets un seul element ds mon datarow, =E7a marche nickel
LstProd.Items.Add(Uneligne("no")
- ...mais j'en voudrais 2
LstProd.Items.Add(Uneligne("no" + "libelle")

=E7a me paraissait simple mais je ne trouve aucune solution qui marche ;
une id=E9e ??

MERCI


Dim Dtprod As New DataSet
Dim Uneligne As DataRow
req =3D "select no, libelle from PRODUIT"
Adapprod =3D New OleDb.OleDbDataAdapter(req, connec)
Adapprod.Fill(Dtprod, "PRODUIT")
Latable =3D Dtprod.Tables("PRODUIT")
For Each Uneligne In Latable.Rows
LstProd.Items.Add(Uneligne("no")
Next

1 réponse

Avatar
Jérôme FONTAINE
Salut,

Le mieux serait de faire ta concaténation dans ta requête SQL

A voir si c'est un + ou un & avec Access
Dim Dtprod As New DataSet
Dim Uneligne As DataRow
req = "select (no + libelle) as affichage from PRODUIT"
Adapprod = New OleDb.OleDbDataAdapter(req, connec)
Adapprod.Fill(Dtprod, "PRODUIT")

Ensuite pour le chargement tu peux directement charger sans boucle

lstprod.datasource=dtprod.table("produit")
lstprod.displaymember="affichage"

Tu peux aussi mettre le No dans lstprod.valuemember ce qui te renverra
ton No alors que tu affiche le libellé

Bon courage



Adapprod = New OleDb.OleDbDataAdapter(req, connec)
Adapprod.Fill(Dtprod, "PRODUIT")
Latable = Dtprod.Tables("PRODUIT")
For Each Uneligne In Latable.Rows
LstProd.Items.Add(Uneligne("no")
Next







dans l'acces a une base de données access via vb j'ai un souci pour la
concaténation des chaines de caractères dans mon datarow
- je crée un dataadapter qui recupère le contenu de la requete (ok)
qui remplit le dataset (ok) et je veux utiliser ce dataset pour remplir
un controle Listbox
- si je mets un seul element ds mon datarow, ça marche nickel
LstProd.Items.Add(Uneligne("no")
- ...mais j'en voudrais 2
LstProd.Items.Add(Uneligne("no" + "libelle")

ça me paraissait simple mais je ne trouve aucune solution qui marche ;
une idée ??

MERCI


Dim Dtprod As New DataSet
Dim Uneligne As DataRow
req = "select no, libelle from PRODUIT"
Adapprod = New OleDb.OleDbDataAdapter(req, connec)
Adapprod.Fill(Dtprod, "PRODUIT")
Latable = Dtprod.Tables("PRODUIT")
For Each Uneligne In Latable.Rows
LstProd.Items.Add(Uneligne("no")
Next