2012-10-29 5 views
1

Je suis complètement nouveau à Visual Basic. Je travaille avec une base de données MYSQL et je veux utiliser VB dans Excel pour pouvoir travailler avec des requêtes plus complexes. Pour une raison quelconque, lorsque j'essaie de joindre des tables dans vb, j'obtiens un message d'erreur. Quelqu'un peut-il me dire ce qui ne va pas avec mon code?Joindre des tables avec des requêtes MYSQL dans VBA (excel)

strSql = "SELECT COUNT(*)FROM `order`" & _ 
       "JOIN user ON user.id = order.destination_id" & _ 
       "WHERE payment_status = 'pay';" 

    rs.Open strSql, oConn, adOpenDynamic, adLockPessimistic 

    res = rs.GetRows 

    rs.Close 

    Range("A1", "A6") = res(0, 0) 
+1

Quel est le message d'erreur? – Kermit

Répondre

2

votre requête en cours produira cette chaîne,

SELECT COUNT(*)FROM `order`JOIN user ON user.id = order.destination_idWHERE payment_status = 'pay'; 
      ^  ^          ^

vous manque d'espace au cours de votre concaténation, afin de corriger cela, ajoutez simplement l'espace avant guillemet.

strSql = "SELECT COUNT(*) FROM `order` " & _   
     "JOIN user ON user.id = order.destination_id " & _ 
     "WHERE payment_status = 'pay';" 
+0

merci beaucoup John! Ça a marché. Mais quel était le problème avec mon code. ils sont pratiquement les mêmes? – user1783504

+0

Non, vous n'avez pas d'espace. voir ma réponse mise à jour. –