L'ouverture de l'Accès à partir d'Excel VBA
Edit: La réponse à cette question peut être trouvée dans la section des commentaires de la accepté de répondre.
J'essaie d'ouvrir une base de données Access à partir d'un clic sur un bouton à l'intérieur de mon fichier excel. Actuellement j'ai ce code:
Private Sub bttnToAccess_Click()
Dim db As Access.Application
Set db = New Access.Application
db.Application.Visible = True
db.OpenCurrentDatabase "C:\Users\wcarrico\Desktop\wcarrico-CapstoneFinalSubmission.accdb"
End Sub
Cela semble fonctionner brièvement, puis l'Accès s'arrête presque immédiatement. Si c'est important, le fichier d'Accès a une macro AutoExec qui traverse quelques tests sur ouvrir.
Êtes-vous essayer d'exécuter l'Accès interface graphique dans Excel, ou juste essayer de vous connecter à la base de données et des requêtes sur les données à l'intérieur?
Je suis juste un accès facile à la base de données pour l'utilisateur. Je suis Très novice en VBA et même pas sûr de ce que l'Accès de l'interface graphique est. La base de données est fondamentalement un autre outil pour la planification d'un mariage. Excel et les fichiers d'accès finira par un lien via un import.
Je suis juste un accès facile à la base de données pour l'utilisateur. Je suis Très novice en VBA et même pas sûr de ce que l'Accès de l'interface graphique est. La base de données est fondamentalement un autre outil pour la planification d'un mariage. Excel et les fichiers d'accès finira par un lien via un import.
OriginalL'auteur Bradley Carrico | 2013-05-01
Vous devez vous connecter pour publier un commentaire.
N'essayez pas d'ouvrir l'Accès de l'application; il suffit de créer un objet de connexion à l'aide de l'une des technologies d'Accès aux Données:
- OLE-DB ou
- ODBC.
Google "chaînes de Connexion ODBC" ou "OLE-DB Chaînes de Connexion" pour obtenir plus de détails en fonction de votre configuration particulière (et d'Accéder à un type de fichier).
Probablement ADODB est le plus facile de la bibliothèque à l'utilisation de vos données d'accès.
Mise à jour:
Essayer d'Importer les données à partir de l'Accès à l'aide de la de Données -> De l'Accès assistant. Yu peut toujours utiliser la Macro recodage de la facilité pour générer automatiquement du code VBA pour vous, qui va créer des infrastructures pour vous; je l'utilise régulièrement, lors de l'exploration de nouvelles portions du modèle objet VBA.
Mise à jour de Finale de la résolution de problème, d'après les commentaires ci-dessous
Cela peut être parce que la variable est hors de portée; déplacer la déclaration de
db
en dehors de la fonction, du module niveauLa navigation un jeu d'enregistrements peut être un peu dur à mâcher, au début, si l'OP est extrêmement novice en VBA, comme il dit.
Point de pris; post mis à jour.
Ouais l'enregistrement d'une macro est une excellente façon d'apprendre. Cependant, je ne suis pas en essayant d'importer quoi que ce soit à l'heure actuelle. Tout ce que j'espère accomplir, c'est de donner une alternative à aller sur le bureau et ouvrir le fichier à partir de là. Je veux ouvrir le fichier et puis rien d'autre. Comme je l'ai dit dans la question, il semble que le code fourni ouvert l'accès, mais alors ferme immédiatement.
Cela peut être parce que la variable est hors de portée; déplacer la déclaration de
db
en dehors de la fonction, du module niveau.OriginalL'auteur Pieter Geerkens
Le code commencé Accès par la création d'une instance de l'application affectée à une variable objet. À la fin de la procédure, la variable est allé hors de portée donc l'Accès à l'arrêt.
Vous avez accepté la réponse à l'utilisation d'une variable de niveau module pour l'Accès à l'instance de l'application. Dans ce cas, l'Accès est en cours d'exécution après la fin de la procédure. Toutefois, si l'utilisateur quitte Excel, Access va fermer aussi.
Si le but est de mettre sur l'Accès et le laisser tourner jusqu'à ce que l'utilisateur décide de le fermer, il suffit de commencer Accès directement, sans affectation de l'instance de l'application à un objet variable (
Set db = New Access.Application
). Quedb
variable pourrait être utile si votre code Excel nécessaire pour d'autres fins. Cependant, c'est en fait seulement utilisé pour ouvrir le fichier db.Vous pouvez utiliser le
Run
méthode deWScript.Shell
pour ouvrir votre fichier de base de données dans une session d'Accès.OriginalL'auteur HansUp
Supprimer la
New
déclaration, puis il travailleOriginalL'auteur Ant
Je sais que c'est un vieux thread, mais vous obtiendrez cette erreur dans Excel VBA si vous essayez d'ouvrir une base de données Access, mais vous n'avez pas deux Références spécifiques cliqué. (Des outils, des Références sur l'écran de l'Éditeur VBA). Vous devez cliquez sur "Microsoft Access 15.0 Bibliothèque d'Objets" et "Microsoft ActiveX Data Objects 6.1 Bibliothèque".
OriginalL'auteur Derek Sturdy
En fait c'est assez simple:
OriginalL'auteur agcala