Afficher le resultat d'une requette analyse croisée dans datagridview

saadouli7 Messages postés 36 Date d'inscription mardi 26 avril 2011 Statut Membre Dernière intervention 18 novembre 2011 - 17 mai 2011 à 15:03
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 17 mai 2011 à 19:12
j'ai crée dans ma base de données acess une requette analyse croisée; et j'ai un formulaire crée sous vb.net dans lequel j'ai mis un datagridview.je veut affiché le resultat de ma requette dans datagridview pour cette raison j'ai copié le code sql de ma requette dans mon formulaire de la façon suivante:
cnxstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\compaq\Desktop\Emploi.mdb;"
cnx = New OleDb.OleDbConnection
cnx.ConnectionString = cnxstr
cnx.Open()
sql = "TRANSFORM First(Table1.salle_) AS PremierDesalle_"
sql = sql & "Select Table1.jour_"
sql = sql & "FROM(Table1)"
sql = sql & "GROUP BY Table1.jour_"
sql = sql & "PIVOT Table1.HD;"

cmd1 = New OleDb.OleDbCommand
cmd1.CommandText = sql
cmd1.Connection() = cnx
Dim myReader2 As OleDb.OleDbDataReader = cmd1.ExecuteReader
If (myReader2.HasRows) Then
Dim dt As DataTable = New DataTable()
dt.Load(myReader2)
DataGridView1.DataSource = dt.DefaultView
End If
myReader2.Close()
cnx.Close()

à l'execution j'ai l'erreur suivant:Erreur de syntaxe dans l'instruction TRANSFORM.
et si j'elimine la partie sql="transform..."
j'obtient l'erreur suivant:Erreur de syntaxe dans l'instruction FROM
est ce que quelqu'un peut m'aider
merci
A voir également:

4 réponses

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
17 mai 2011 à 15:31
Pas bonjour non plus

Le symbole _ en fin de ligne :
- n'est utilisable que dans l'IDE de VB, pas dans une syntaxe SQL
- doit toujours être précédé d'un espace

Maintenant, si chacun de tes champs se termine réellement par un _, il faut impérativement encadrer ces noms par des crochets [ et ]

Ton erreur vient du fait qu'il manque un espace entre chaque ligne de ta requète, rendant impossible la reconnaissance des mots réservés.
Ajoute un espace à la fin de chaque ligne, exemple
sql = "TRANSFORM First(Table1.salle_) AS PremierDesalle_ "
sql = sql & "Select Table1.jour_ "

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)
0
saadouli7 Messages postés 36 Date d'inscription mardi 26 avril 2011 Statut Membre Dernière intervention 18 novembre 2011
17 mai 2011 à 15:50
salut
et merci pour l'aide jack je veut juste poser la question suivante: est ce que je doit mettre
first[Table1.jour_] " ou bien c'est juste first(Table1.[jour_])

meme question pour
pour les autres lignes de requette qui contenant un champs avec le "_"
et merci
0
saadouli7 Messages postés 36 Date d'inscription mardi 26 avril 2011 Statut Membre Dernière intervention 18 novembre 2011
17 mai 2011 à 16:04
salut
j'arrive enfin à resoudre mon probleme
merci jack
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
17 mai 2011 à 19:12
De rien
0
Rejoignez-nous