Nom d'un champ d'une table access

IrisTun Messages postés 37 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 7 mars 2013 - 9 déc. 2011 à 09:34
IrisTun Messages postés 37 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 7 mars 2013 - 10 déc. 2011 à 08:47
Bonjour,
J'ai un problème dans la connexion entre mon programme VB.Net et ma basse Access 2003 au niveau de ma requête SQL:


Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\...\mabase.mdb")
Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()

Mycommand.CommandText = "SELECT * FROM B50-Composants where T-x-Code comp like " & var
MyConnexion.Open()
Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
.
.
.
myReader.Close()
MyConnexion.Close()
Loop
MyConnexion.Close()


en fait j'ai essaie "SELECT * FROM B50-Composants" mais j'ai eu la même erreur "Erreur de syntaxe dans la clause FROM" vu que la même requête fonctionne avec d'autre table, d'après ma constatation j'ai remarqué que le problème été dans les tables et les champs qui contenaient "-" dans leurs noms et vu que j'ai pas le droit de changés ni les noms des tables ni les noms des champs, avez vous une solutions pour ce problèmes

9 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
9 déc. 2011 à 09:48
Bonjour,

en fait j'ai essaie "SELECT * FROM B50-Composants" mais j'ai eu la même erreur "Erreur de syntaxe dans la clause FROM" vu que la même requête fonctionne avec d'autre table, d'après ma constatation j'ai remarqué que le problème été dans les tables et les champs qui contenaient "-" dans leurs noms et vu que j'ai pas le droit de changés ni les noms des tables ni les noms des champs, avez vous une solutions pour ce problèmes

Ah bon !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
9 déc. 2011 à 09:55
Et tu as quand même essayé, j'espère, de placer entre crochets le nom de ta table , genre :
"select * from [cette fameuse table]"
?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
IrisTun Messages postés 37 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 7 mars 2013
9 déc. 2011 à 12:17
avec les crochés il passe à l'instruction suivante mais au niveau

Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
Msgbox((myReader.GetString(1))
myReader.Close()

j'ai l’erreur: Aucune donnée n'existe pour la ligne/colonne.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
9 déc. 2011 à 13:00
et il ne te vient pas à l'idée que le nom du champ, également "fort mal choisi", devrait dans ce cas être lui même mis entre crochets ?




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
IrisTun Messages postés 37 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 7 mars 2013
9 déc. 2011 à 13:35
Non mon champs est correctement choisi et j'ai déjà mis les crochets mais sa me donne la même erreur
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 223
9 déc. 2011 à 14:26
personne ne t'a parlé du choix du champ, mais du choix du nom donné au champ


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
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
9 déc. 2011 à 18:17
Recolle la syntaxe telle que tu l'as corrigée
0
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
9 déc. 2011 à 18:18
Au fait, as-tu fais le Open de ta connexion avant de lui soumettre une commande ?
Je ne connais pas les syntaxes .Net mais il me semble que cela manque.
0
IrisTun Messages postés 37 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 7 mars 2013
10 déc. 2011 à 08:47
voila mon code exact:

Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\...\MABASE.mdb")
Dim MyConnexion2 As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\...\MABASE.mdb")
Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
Dim Mycommand2 As OleDbCommand = MyConnexion2.CreateCommand()
Mycommand.CommandText = "SELECT * FROM Table_OF where CodeChantier LIKE CodeOF"
MyConnexion.Open()
Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
Do While myReader.Read()
If myReader.GetString(0) Like "CL*" Then
ComboBox1.Items.Add(myReader.GetString(0) & " " & myReader.GetString(1))
Mycommand2.CommandText = "SELECT * FROM [B50-Composants] where [T-x-Code] LIKE '" & myReader.GetString(4) & "'"
MyConnexion2.Open()
Dim myReader2 As OleDbDataReader = Mycommand2.ExecuteReader()
ComboBox1.Items.Add(myReader2.GetString(0))
myReader2.Close()
MyConnexion2.Close()
End If
Loop
myReader.Close()
MyConnexion.Close()

la première requête sa fonctionne bien mais la deuxième non
0
Rejoignez-nous