Connexion permanent Excel Access - Requête multiple

Connexion permanent Excel Access - Requête multiple - VB/VBA/VBS - Programmation

Marsh Posté le 09-05-2014 à 15:52:53    

Bonjour à tous,
 
J'utiliser la méthode suivante pour me connecter à ma base ACCESS, récupérer le résultat d'une requête et le faire ressortir dans ma feuille Excel à partir des fonctions.
 

Code :
  1. Dim rstRequete As DAO.Recordset
  2. Set db = DBEngine.OpenDatabase(cheminBdd)
  3. Set rstRequete = db.OpenRecordset("SELECT ..." )
  4. rstRequete.Close


 
Le souci est que ces fonctions sont très utilisées dans ma feuille de calcul. A chaque cellule, ma fonction doit ouvrir la base access, requêter et refermer la base.
Aussi, pour gagner un temps de calcul énorme, je me demandais si il n'était pas possible de conserver la connexion à la base ouverte tant que le classeur est ouvert.
 
J'ai donc rajouter ce bout de code dans le workbook. Mais pas de réponse.  
 

Code :
  1. Dim db As DAO.Database
  2. Public Sub Workbook_BeforeClose(Cancel As Boolean)
  3. db.Close
  4. End Sub
  5. Public Sub Workbook_Open()
  6. Set db = DBEngine.OpenDatabase("C:\MaBDD.mdb" )
  7. End Sub


 
Une idée ?

Reply

Marsh Posté le 09-05-2014 à 15:52:53   

Reply

Marsh Posté le 13-05-2014 à 11:06:04    

un petit up :)

Reply

Marsh Posté le 13-05-2014 à 12:04:35    

Il faut que la variable gérant la connexion à la BD soit globale à tout ton classeur. Tu ouvres la connexion à l'ouverture du classeur et la referme... à la fermeture du classeur ;)
 
http://argyronet.developpez.com/of [...] ention/#L3


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed