Paramètre une chaîne de connexion ODBC en VBA

J'ai créé une macro qui lance une nouvelle CommandText pour une Connexion ODBC dans ma feuille de calcul Excel, puis actualise le tableau des résultats associés à la requête. Cela a été fonctionne bien, mais j'ai remarqué qu'à chaque fois que je lance la macro, il remplace la chaîne de connexion avec certaines valeurs par défaut qui fonctionne sur ma machine, mais ne fonctionne pas sur d'autres machines des utilisateurs parce qu'ils n'ont pas enregistré le fichier de connexion que j'ai. Le plus spécifique de la chaîne de connexion qui spécifie une adresse de serveur fonctionne lorsque les saisies manuellement, mais va être écrasé à tout moment la macro est exécutée.

J'ai pensé que je voudrais juste avoir la macro écrire la chaîne de connexion dans le même temps, il envoie le nouveau CommandText, mais je suis en cours d'exécution dans les erreurs.

Mon code est comme suit:

Sub NewData()

Dim lStr As String
lStr = ""
lStr = lStr & " USE myDBname; "
lStr = lStr & " WITH X AS ("
lStr = lStr & " SELECT"
lStr = lStr & " column1, column2, column3, etc"
lStr = lStr & " FROM"
lStr = lStr & " etc. etc. etc."

With ActiveWorkbook.Connections("PayoffQuery").ODBCConnection

.CommandText = lStr
.Connection = "SERVER=myserveraddress;UID=SYSTEM;Trusted_Connection=Yes;APP=2007 Microsoft Office system;WSID=SYSTEM;DATABASE=myDBname;"

End With

End Sub

L' .CommandText encore des mises à jour, mais l' .Connexion jette erreur d'exécution 1004: définie par l'Application ou par l'objet défini erreur.

Une idée de ce que je fais mal? TIA.

OriginalL'auteur CactusCake | 2015-01-29