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

Signaler
Messages postés
36
Date d'inscription
mardi 26 avril 2011
Statut
Membre
Dernière intervention
18 novembre 2011
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
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

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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)
Messages postés
36
Date d'inscription
mardi 26 avril 2011
Statut
Membre
Dernière intervention
18 novembre 2011

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
Messages postés
36
Date d'inscription
mardi 26 avril 2011
Statut
Membre
Dernière intervention
18 novembre 2011

salut
j'arrive enfin à resoudre mon probleme
merci jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
De rien