Executer modules access2000 depuis vb6

Résolu
moi_leila
Messages postés
15
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
29 février 2008
- 22 févr. 2008 à 12:51
moi_leila
Messages postés
15
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
29 février 2008
- 25 févr. 2008 à 12:24
Bonjour,

J'ai un programme vb6 que je veux entièrement transférer en access sous forme de modules. En effet j'ai fait cela et quand j'ouvre ces modules sur access et je les execute ça marche bien.

Je veux savoir svp comment faire appel à ces modules dans vb6.
Je veux que mon application en vb6 ne contienne pas le code de programmation et que tout soit centralisé sur access2000, je veux utiliser vb6 uniquement pour faire appel à ces module.

Merci

5 réponses

moi_leila
Messages postés
15
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
29 février 2008

25 févr. 2008 à 12:24
Bonjour,
Voilà le dernier résultat auquel je suis arrivée :

  Static acc As Access.Application
   Dim db As DAO.Database
   Dim req As String
   Dim rs As DAO.Recordset
   Dim r As String
   Dim modu As VBA.Collection
  



   req = "C:\mondossier\db1.mdb"
   Set acc = Access.Application
   Set db = acc.DBEngine.OpenDatabase(req, False, False, ";PWD=password")
   acc.OpenCurrentDatabase req
   Run ("import_export") 'Appel à la procédure
   Run ("INFOSMACHINE") 'Appel à la procédure

Voilà et ça marche à la perfection sans que le module ne soit ouvert et le programme visionné.

Tout se fait dans la discretion la plus totale puisque même le contenu de la procédure incluse dans le module est protégé par mot de passe. No way pour visionner le code.

Merci bcp pour votre aide
3
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
22 févr. 2008 à 13:13
salut,

VB6 (compilé ensuite) ne peut pas exécuter.. une partie de lui-même avec un code qui ne sera pas compilé puisqu'en macro VBA...

où alors j'ai mal compris ta question
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
moi_leila
Messages postés
15
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
29 février 2008

22 févr. 2008 à 13:23
J'ai une Application VB6 et une base de données access2000.
J'ai créé dans la base des données des modules contenant un code à executer (un programme)
Je veux faire appel à ces modules via l'application VB6 pour faire executer le progamme qu'ils contiennent.

Dans VB6 je veux faire le "opendatabase" par exemple et le "execute databasemodule". Quelque chose comme ça.

Merci
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
22 févr. 2008 à 13:40
peut-être en créant un objet "application.access"
faudrait voir dans l'aide VBA d'access, c'est plus ou moins du pilotage...

bonne question
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moi_leila
Messages postés
15
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
29 février 2008

25 févr. 2008 à 09:45
Bonjour,
J'ai réussi à faire appel à la procédure stockée dans le module access2000 à partir de VB6 en utilisant le code :

                       Dim modu As VBA.Collection
                               Set modu = Run("import_export")

Le problème c'est que je suis obligée d'ouvrir le fichier dela base des données pour que ça marche en faisant appel à la fonction :

                       Function StartDoc(DocName As String) As Long
                                  Dim Scr_hDC As Long
   
                                  Scr_hDC = GetDesktopWindow()
                                  StartDoc = ShellExecute(Scr_hDC, "Open", DocName, "", "C:", SW_SHOWMAXIMISED)




                             End Function




Comment faire pour faire appel à la procédure sans avoir à ouvrir la bd?
0