Erreur de syntaxe vba excel

Le
dexx Hors ligne
Bonjour,

J'ai besoin de votre aide

Le programme marche. La requête pour créer une table en commentaire fonctionne.

J'aimerais maintenant exécuter mon SELECT mais sa me met une erreur :

[QUOTE]Erreur de compilation
Erreur de syntaxe[/QUOTE]

Et sa surligne cette ligne :

[CODE] .Open "select designation" _&[/CODE]

Peut-on m'aider s'il vous plait ?

[CODE]Private Sub MacroDesignation()

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sql As String
Dim valcel As String
valcel = Excel.Range("Feuil1!A2").Value

'connect to MySQL server using MySQL ODBC 3.51 Driver
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};" & "SERVER2.168.253.128;" & " DATABASE½dintranetpol;" & "UID=user_odbc;PWD=mdpusrodbc; OPTION=3"
conn.Open

'conn.Execute "CREATE TABLE TestAdrien(ID int not null primary key, Nom varchar(20)," _& "Texte text, Date date, Temps time)"
Set rs = New ADODB.Recordset

'conn.Execute "SELECT Designation FROM produits_test WHERE code_produit = 1"

'Feuil1.Range("B2").CopyFromRecordset rs, 200

With rs
.ActiveConnection = conn
.Open "select designation" _&
"from produits_test" _&
"where code_produit=' & valcel'"
Feuil1.Range("A2").CopyFromRecordset rs

.Close
End With

conn.Close
Set rs = Nothing
Set conn = Nothing

End Sub[/CODE]

Merci.

Cordialement,
DexX
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23487001
Bonjour,

Ici :
"where code_produit=' & valcel'"

Essaie cette syntaxe :
"where code_produit=' & valcel & '"





MichD
--------------------------------------------
"dexx" a écrit dans le message de groupe de discussion :

Bonjour,

J'ai besoin de votre aide...

Le programme marche. La requête pour créer une table en commentaire
fonctionne.

J'aimerais maintenant exécuter mon SELECT mais sa me met une erreur :

[QUOTE]Erreur de compilation
Erreur de syntaxe[/QUOTE]

Et sa surligne cette ligne :

[CODE] .Open "select designation" _&[/CODE]

Peut-on m'aider s'il vous plait ?

[CODE]Private Sub MacroDesignation()

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sql As String
Dim valcel As String
valcel = Excel.Range("Feuil1!A2").Value

'connect to MySQL server using MySQL ODBC 3.51 Driver
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};" &
"SERVER2.168.253.128;" & " DATABASE½dintranetpol;" &
"UID=user_odbc;PWD=mdpusrodbc; OPTION=3"
conn.Open

'conn.Execute "CREATE TABLE TestAdrien(ID int not null primary key, Nom
varchar(20)," _& "Texte text, Date date, Temps time)"
Set rs = New ADODB.Recordset

'conn.Execute "SELECT Designation FROM produits_test WHERE code_produit = 1"

'Feuil1.Range("B2").CopyFromRecordset rs, 200

With rs
.ActiveConnection = conn
.Open "select designation" _&
"from produits_test" _&
"where code_produit=' & valcel'"
Feuil1.Range("A2").CopyFromRecordset rs

.Close
End With

conn.Close
Set rs = Nothing
Set conn = Nothing

End Sub[/CODE]

Merci.

Cordialement,
DexX
Le #23487061
MichD a écrit le 21/06/2011 à 15h26 :
Bonjour,

Ici :
"where code_produit=' & valcel'"

Essaie cette syntaxe :
"where code_produit=' & valcel & '"





MichD
--------------------------------------------
"dexx" a écrit dans le message de groupe de discussion :


Bonjour,

J'ai besoin de votre aide...

Le programme marche. La requête pour créer une table en
commentaire
fonctionne.

J'aimerais maintenant exécuter mon SELECT mais sa me met une erreur :

[QUOTE]Erreur de compilation
Erreur de syntaxe[/QUOTE]

Et sa surligne cette ligne :

[CODE] .Open "select designation" _&[/CODE]

Peut-on m'aider s'il vous plait ?

[CODE]Private Sub MacroDesignation()

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sql As String
Dim valcel As String
valcel = Excel.Range("Feuil1!A2").Value

'connect to MySQL server using MySQL ODBC 3.51 Driver
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};" &
"SERVER2.168.253.128;" & "
DATABASE½dintranetpol;" &
"UID=user_odbc;PWD=mdpusrodbc; OPTION=3"
conn.Open

'conn.Execute "CREATE TABLE TestAdrien(ID int not null primary key, Nom
varchar(20)," _& "Texte text, Date date, Temps time)"
Set rs = New ADODB.Recordset

'conn.Execute "SELECT Designation FROM produits_test WHERE code_produit =
1"

'Feuil1.Range("B2").CopyFromRecordset rs, 200

With rs
.ActiveConnection = conn
.Open "select designation" _&
"from produits_test" _&
"where code_produit=' & valcel'"
Feuil1.Range("A2").CopyFromRecordset rs

.Close
End With

conn.Close
Set rs = Nothing
Set conn = Nothing

End Sub[/CODE]

Merci.

Cordialement,
DexX


Quand j'exécute sa me met cette erreur :

[MySQL][ODBC 5.1 Driver].........You have an error in your SQL syntax; check the manual ...etc

J'aimerais que dans le cellule A1 lorsqu'on tape 1 sa mette la désignation correspondant dans la cellule B2 avec une macro qui exécute ce programme..
FdeCourt
Le #23494781
Salut,

Avec ceci :
.Open "select designation " & _
"from produits_test " & _
"where code_produit='" & valcel & "'"

Cordialement,

F.
FxM
Le #23547861
Bonjour,

Plusieurs points qui m'ont emm...bêté durant des essais avec MyODBC 5.1 :
- une requête SQL se termine par ;
- rejet du caractère ' qu'il m'a fallu remplacer par chr(96)
- enfin, j'ai un doute sur la notation _& dans ta requête .open (etc...)

Vois du coté de :
.Open "select designation from produits_test where code_produit='" &
valcel & "';"
(attention aux coupures de ligne ! Ce qui précède est sur une ligne.)

@+
FxM




Le 21/06/2011 15:51, dexx a écrit :
MichD a écrit le 21/06/2011 à 15h26 :
Bonjour,

Ici :
"where code_produit='& valcel'"

Essaie cette syntaxe :
"where code_produit='& valcel& '"





MichD
--------------------------------------------
"dexx" a écrit dans le message de groupe de discussion :


Bonjour,

J'ai besoin de votre aide...

Le programme marche. La requête pour créer une table en
commentaire
fonctionne.

J'aimerais maintenant exécuter mon SELECT mais sa me met une erreur :

[QUOTE]Erreur de compilation
Erreur de syntaxe[/QUOTE]

Et sa surligne cette ligne :

[CODE] .Open "select designation" _&[/CODE]

Peut-on m'aider s'il vous plait ?

[CODE]Private Sub MacroDesignation()

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sql As String
Dim valcel As String
valcel = Excel.Range("Feuil1!A2").Value

'connect to MySQL server using MySQL ODBC 3.51 Driver
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};"&
"SERVER2.168.253.128;"& "
DATABASE½dintranetpol;"&
"UID=user_odbc;PWD=mdpusrodbc; OPTION=3"
conn.Open

'conn.Execute "CREATE TABLE TestAdrien(ID int not null primary key, Nom
varchar(20)," _& "Texte text, Date date, Temps time)"
Set rs = New ADODB.Recordset

'conn.Execute "SELECT Designation FROM produits_test WHERE code_produit >> 1"

'Feuil1.Range("B2").CopyFromRecordset rs, 200

With rs
.ActiveConnection = conn
.Open "select designation" _&
"from produits_test" _&
"where code_produit='& valcel'"
Feuil1.Range("A2").CopyFromRecordset rs

.Close
End With

conn.Close
Set rs = Nothing
Set conn = Nothing

End Sub[/CODE]

Merci.

Cordialement,
DexX


Quand j'exécute sa me met cette erreur :

[MySQL][ODBC 5.1 Driver].........You have an error in your SQL syntax; check
the manual ...etc

J'aimerais que dans le cellule A1 lorsqu'on tape 1 sa mette la désignation
correspondant dans la cellule B2 avec une macro qui exécute ce programme..
Gloops
Le #23551931
dexx a écrit, le 21/06/2011 15:13 :
.Open "select designation" _&
"from produits_test" _&
"where code_produit='& valcel'"
Feuil1.Range("A2").CopyFromRecordset rs




Bonjour,

Première chose : SQL ne va jamais accepter de lancer une requête qui n'a
pas un espace devant FROM.

Deuxième chose : idem devant WHERE.


Hein ? 21 juin ? Mais on en est où là-dessus ?

Mouaif, en fait, si il y avait quelqu'un au bout du fil, il pouvait s'en
sortir (pour cette fois-ci) avec les requêtes proposées sans dire ce qui
a été modifié, donc ... On dirait qu'il ne se rappelle pas où il a posé
la question.
Gloops
Le #23551921
FxM a écrit, le 09/07/2011 15:29 :
Bonjour,

Plusieurs points qui m'ont emm...bêté durant des essais avec MyODBC 5.1 :
- une requête SQL se termine par ;
- rejet du caractère ' qu'il m'a fallu remplacer par chr(96)
- enfin, j'ai un doute sur la notation _& dans ta requête .open (etc. ..)

Vois du coté de :
.Open "select designation from produits_test where code_produit='" &
valcel & "';"
(attention aux coupures de ligne ! Ce qui précède est sur une ligne .)

@+
FxM



Bien vu, l'idée de regarder dans la chaîne de connexion pour connaî tre
le type de base, et tester dessus.
Publicité
Poster une réponse
Anonyme