VBA Excel; la mise à Jour d'une chaîne de connexion

Je suis juste essayer d'obtenir VBA pour mettre à jour une chaîne de connexion OLEDB. Quand je marche à travers le code, je ne comprends pas les erreurs mais la connexion actualisation échoue et quand j'examine la chaîne de connexion dans l'INTERFACE utilisateur, il est évident que mon code n'a pas changé du tout (d'où le rafraîchissement de l'échec). Qu'ai-je manqué?

Voici le code:

Sub UpdateQueryConnectionString(ConnectionString As String)

  With ActiveWorkbook.Connections("Connection Name"). _
      OLEDBConnection
      .Connection = StringToArray(ConnectionString)
  End With
  ActiveWorkbook.Connections("Connection Name").Refresh
End Sub

La ConnectionString sont nourris en est:

ConnectionString = = "Provider=SLXOLEDB.1;Data Source=SERVER;Initial Catalog=DATABASE" _
& ";User ID=" & Username & ";Password=" & Password & _
";Persist Security Info=True;Extended Properties=" _
& Chr(34) & "PORT=1706;LOG=ON;CASEINSENSITIVEFIND=ON;INCLUDECALCFIELDS=ON;" & Chr(34)

La fonction StringToArray est copié directement de l'Exemple 4 sur http://support.microsoft.com/kb/105416

Je vous suggère de vérifier attentivement chacune des propriétés dans la fenêtre variables locales assurez-vous qu'ils existent réellement - je ne connais pas la syntaxe par cœur. Array(ConnectionString) sembler bizarre syntaxe, compte tenu du fait que ConnectionString est une chaîne de caractères.
semble être de droite qu'est - ce que array(), essayez sans array(), juste avec ConnectionString.
Je pense que le tableau de la partie est généré par l'Enregistreur de Macro, et comme @KimGysen dit, ne s'applique pas ici. Essayer avec juste ConnectionString.
Je l'ai essayé sans Array (), mais à obtenir une erreur d'exécution. Un peu de creuser trouvé ce MS, article de Support. Voir L'Exemple 4. Le tableau est utilisé pour arrêter les chaînes de plus de 255 caractères tronqués, mais je ne pense pas que j'ai fait ce droit. Je vais mettre à jour le code dans ma question de ce que j'ai fait aujourd'hui. L'INTERFACE utilisateur ne montre toujours pas de changements à la Chaîne de Connexion (bon ou mauvais).
Je n'ai pas compté le nombre de caractères mais votre chaîne de connexion n'a pas l'air traverse limite de 255 caractères?

OriginalL'auteur Dominic | 2013-12-11