darco62
Messages postés3Date d'inscriptionmercredi 28 janvier 2004StatutMembreDernière intervention18 novembre 2004
-
9 oct. 2004 à 22:20
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
9 oct. 2004 à 23:17
salut a tous
je veux lancer une commande access par un programme en VB
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 9 oct. 2004 à 23:17
Correctif, j'avais pas vu : le premier 0 du ShellExecute correspond au handle (identifiant) du parent, c'est à dire ton application.
Remplace le 0 par Me.HWnd
+ Ordre des paramètres :
...productivite.mdb", "/compact", 0&, 1
Tu verras dans API-Guide, ils utilisent souvent des constantes au lieu de mettre le dernier "1" par exemple. Les valeurs de ces constantes sont dans un autre logiciel : API-Viewer. Cherche le sur Google.
En plus, pour chaque api, il y a un exemple d'utilisation en VB6.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 9 oct. 2004 à 23:09
Salut darco62
Comme dit dans l'aide du ShellExecute (Clique ici pour récupérer API-GUIDE), les paramètres doivent être passés dans le 3e paramètre, pas en même temps que le nom du fichier.
Par contre, ta syntaxe serait bonne pour le Shell (et pas ShellExecute) : ne pas confondre :
Shell est un programme "console" du système d'exploitation. Tu ne peux lancer avec que des exécutables ou Batch.
Shell """C:\Chemin\MSaccess.exe C:\Documents and Settings\Homer\Bureau\productivite.mdb"" /compact", vbNormal
ShellExecute est une api appartenant au noyau du système. Sa particularité est de retrouver quel est l'exécutable qui est associé à l'extension du fichier que tu lui fourni. Avec ça, tu peux directement lui donner ton fichier MDB, il se débrouillera pour lancer Access ou autre.
ShellExecute 0, "open", "C:\Documents and Settings\Homer\Bureau\productivite.mdb", 0&, "/compact"", 1
Vérifie la syntaxe, je suis plus sur de l'ordre des paramètres.