Erreur de syntaxe vba excel

DexX39800 Messages postés 45 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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 :

"Erreur de compilation
Erreur de syntaxe"

Et sa surligne cette ligne :

     .Open "select designation" _&


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

]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};" & "SERVER=192.168.253.128;" & " DATABASE=bddintranetpol;" & "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


Merci.

Cordialement,
DexX

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    set rs = New ADODB.Recordset   
    
    set rs= conn.Execute("SELECT Designation FROM produits_test WHERE code_produit = 1")  
                                        
    Feuil1.Range("B2").CopyFromRecordset rs, 200 


    et ajoute cette précaution
    If rs.EOF Then  
            Exit Sub  
        End If


    l'autre méthode plus bas est bizarre mais je comprends mal ta demande sur DVP.... enfin, passons
    https://www.developpez.net/forums/d1098619/logiciels/microsoft-office/excel/macros-vba-excel/erreur-syntaxe-vba/
    Michel
    0