Modifier une Chaîne de Connexion incorporée dans microsoft excel macro

J'ai un document Excel est une macro qui lors de l'exécution de modifier un CommandText de cette connexion pour passer des paramètres à partir de la feuille de calcul Excel, comme suit:

Sub RefreshData()
ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary")
  .OLEDBConnection.CommandText = "Job_Cost_Code_Transaction_Summary_Percentage_Pending @monthEndDate='" & Worksheets("Cost to Complete").Range("MonthEndDate").Value & "', @job ='" & Worksheets("Cost to Complete").Range("Job").Value & "'"
ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary").Refresh
End Sub

Je voudrais l'actualisation non seulement de modifier la commande de connexion, mais aussi modifier la connexion que je voudrais l'utiliser avec une autre base de données:

Modifier une Chaîne de Connexion incorporée dans microsoft excel macro

Tout comme la macro remplace les paramètres de la commande avec les valeurs de la feuille de calcul, j'aimerais qu'il faut également remplacer la base de données nom du serveur et le nom de base de données à partir des valeurs de la feuille de calcul.

Une mise en œuvre complète n'est pas nécessaire, juste le code pour modifier la connexion avec les valeurs de la feuille sera suffisant, je devrais être capable de le faire fonctionner à partir de là.

J'ai essayé de faire quelque chose comme ceci:

 ActiveWorkbook
 .Connections("Job_Cost_Code_Transaction_Summary")
 .OLEDBConnection.Connection = "new connection string"

mais qui ne fonctionne pas. Merci.

vous avez besoin de voir les Chaînes de Connexion et apprendre à utiliser les ADODB
Avez-vous jamais trouver une solution pour ce problème? Si oui, je serais très heureux que vous partagiez avec nous.
courant encore de modifier manuellement la chaîne de connexion, malheureusement.
BTW la propriété est Connexion pas ConnectionString: ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary").OLEDBConnection.Connection = "new connection string"
toutes les idées de pourquoi il en résulte une erreur : ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary").OLEDBConnection.Connection = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=ADCData_Doric;Data Source=doric-server5;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=LHOLDER-VM;Use Encryption for Data=False;Tag with column collation when possible=False"

OriginalL'auteur lukemh | 2013-11-21