Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Modifier une source MSQUERY

  • Initiateur de la discussion Initiateur de la discussion pape
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pape

Guest
J'ai un probléme depuis une semaine.
J'ai des fichiers excel qui marchent avec une base access que je veux migrer en base sql server.
Comment faire pour modifier la chaîne de connexion vers ma nouvelle base de données.

Cordialement.

PS : Voici le bout de code qu'une personne a fait, mais qui ne fonctionne pas..
-------------------------------------------------------------------------
Sub test()
MsgBox Worksheets("Feuil1").QueryTables.Count
With Worksheets("Feuil1") 'Nom Feuille à redéfinir
.Range("c2") = Worksheets("Feuil1").QueryTables(1).Connection
.Range("d2") = Worksheets("Feuil1").QueryTables(1).CommandText
End With

Dim OldName As String, NewName As String
Dim Sh As Worksheet, Qt As QueryTable

OldName = "c:\bd1.mdb"
NewName = "c:\bd2.mdb"

For Each Sh In Worksheets
For Each Qt In Sh.QueryTables
If InStr(Qt.Connection, OldName) > 0 Then
Qt.Connection = Replace(Qt.Connection, OldName, NewName)
Qt.CommandText = Replace(Qt.CommandText, Left(OldName, Len(OldName) -
4), Left(NewName, Len(NewName) - 4))
Qt.Refresh True
Else
End If
Next
Next

With Worksheets("Feuil1") 'Nom Feuille à redéfinir
.Range("c3") = Worksheets("Feuil1").QueryTables(1).Connection
.Range("d3") = Worksheets("Feuil1").QueryTables(1).CommandText
End With

End Sub
 
Re : Modifier une source MSQUERY

Bonjour Pape,

J'ai testé ta procédure qui fonctionne très bien si on reste dans le même type de base de données.

Si comme dans ton code tu changes bd1.mdb par bd2.mdb, il n'y a aucune raison que cela ne marche pas à condition que les 2 bases de données contiennent les mêmes champs et type d'informations.

Si par contre tu veux changer de SGBD en passant de mdb à Sql Server, il faut aussi changer dans le code
"DSN=MS Access Database" par
"DSN=MS SQL server"

N'ayant pas Sql server, je ne connait pas le nom exact à appliquer au DSN mais il suffit de créer une requête quelconque avec SQL server et de récupérer le nom associé au DSN.

@+

Gael
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
1 K
G
  • Question Question
Réponses
1
Affichages
804
Grouchet
G
Réponses
0
Affichages
845
H
Réponses
2
Affichages
1 K
H
Réponses
1
Affichages
1 K
Compte Supprimé 979
C
A
Réponses
0
Affichages
1 K
A
B
Réponses
2
Affichages
3 K
borisdu59
B
T
Réponses
0
Affichages
977
tomtom59450
T
M
Réponses
0
Affichages
773
ManuAntibes
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…