Microsoft Excel Connexions de Données - Modifier la Chaîne de Connexion via VBA
J'ai une question assez simple. Je suis en train d'essayer de trouver un moyen de modifier et de changer une chaîne de connexion pour une connexion de données dans un classeur excel par VBA (macro-code). La principale raison pour laquelle je suis en train de faire c'est de trouver un moyen de demander à l'utilisateur qui ouvre le classeur à entrer leurs informations d'identification (nom d'utilisateur/Mot de passe) ou une case à cocher pour la Connexion de Confiance, qui pourraient être utilisés dans la Chaîne de Connexion de connexions de données.
Dès maintenant les connexions de Données sont en cours d'exécution hors d'un échantillon d'utilisateur que j'ai créé et qui a besoin d'aller loin dans la version de production du classeur. L'espoir qui fait sens?
Est-ce possible? Si oui, pourriez-vous me donner un exemple/un exemple de code en bloc? Je voudrais vraiment apprécier toutes les suggestions à ce point.
nous n'avons pas juste donner le code... une suggestion serait d'utiliser sub workbook_open pour afficher un userform ou inputboxes demander les informations d'identification. l'enregistrer dans des variables globales pour ensuite les utiliser dans la chaîne de connexion.
Je comprends, je n'ai jamais demandé une solution directe. Je demande des exemples de cas similaires. Je suis désolé si cela vous a offensé. Deuxièmement, je veux faire ce que vous avez mentionné, mais ce n'est pas la question que je vais avoir. Je suis à la recherche d'un moyen de MODIFIER la chaîne de connexion EXISTANTE d'une connexion de données que j'ai de l'installation (voir la capture d'écran ci-dessus). J'espère que ça aide? Merci beaucoup, Pranav
vous devez décider si vous voulez utiliser le fichier excel de l'INTERFACE utilisateur ou le VBA. Votre titre dit
through
vba mais vous démontrez une capture d'écran de l'INTERFACE utilisateur. Sur le dessus de votre décision, il aurait été trop avancé pour vous d'interagir avec l'INTERFACE utilisateur donc je suis fortement conseiller d'utiliser VBAJ'ai autour de 10 différentes connexions de l'installation déjà par le biais de l'INTERFACE utilisateur. Nous avons compris maintenant que nous allons avoir besoin d'un login des utilisateurs à accéder aux données via ODBC. Donc, pour faire que, derrière les coulisses, je me demandais si il existe un moyen de modifier une chaîne de connexion ODBC pour modifier les informations d'identification d'utilisateur utilisé pour la connexion à partir de l'INTERFACE utilisateur via un code VBA. Merci
OriginalL'auteur SillyCoda | 2013-05-22
Vous devez vous connecter pour publier un commentaire.
J'ai aussi eu exactement ce même exigence et bien que la double question Macro Excel pour changer de requête de données externes connexions - par exemple, le point d'une base de données à l'autre était utile, j'ai toujours eu à le modifier pour répondre aux exigences ci-dessus. Je travaillais avec une connexion spécifique, alors que cette réponse ciblée de plusieurs connexions. Donc, j'ai compris mon fonctionnement ici. Merci @Rory pour son code.
Aussi grâce à Luc Maxwell pour sa fonction de recherche une chaîne de caractères pour les mots clés correspondants.
Attribuer cette sous à un bouton ou à appeler lorsque la feuille de calcul s'ouvre.
La GetConnectionString fonction des magasins de la chaîne de connexion que vous insérez votre nom d'utilisateur et le mot de passe. Celui-ci est pour une connexion OLEDB et est évidemment différent selon les exigences du Fournisseur.
Ce code fait le travail de mise à jour d'une connexion nommée avec votre nouvelle chaîne de connexion (pour une connexion OLEDB).
À l'inverse, vous pouvez utiliser cette fonction pour obtenir quelle que soit la chaîne de connexion est.
- Je utiliser ce sous pour actualiser les données lorsque le classeur est ouvert, mais il vérifie qu'il y a un nom d'utilisateur et le mot de passe dans la chaîne de connexion avant de procéder à l'actualisation. Je viens d'appeler ce sous de la Private Sub Workbook_Open().
Ici est la ListSearch fonction de Luc. Elle renvoie le nombre de matchs qu'il a trouvé.
Enfin, si vous voulez être en mesure de supprimer les informations d'identification, à seulement affecter cette sous à un bouton.
Espère que cela aide d'une autre personne comme moi qui était à la recherche à résoudre ce problème rapidement.
OriginalL'auteur Dominic
C'est un doublon de Macro Excel pour changer de requête de données externes connexions - par exemple, le point d'une base de données à l'autre
Il ressemble à la chose principale est l'aide de l'ThisWorkbook.Connexions en VBA.
OriginalL'auteur darren