Bonjourr

Je ne suis pas du tout spécialiste de vb.net et cela va peut être se voir dans ma question suivante...
Je crée un exécutable qui me permets de piloter une base ACCESS par le passage de ligne de commande (je ne peux pas le faire directement sous ACCESS en vba car une ligne de commande ne marche que quand on lance le programme...s'il est déjà lancé, cela ne marche plus...)
J'ai fait le petit programme ci-dessous qui me lance bien access et le formulaire voulu mas comment puis-je faire pour détecter quand ma base access est déjà ouverte, ne pas la réouvrir et directement la pilotée pour ouvrir le formulaire voulu (en gros remplacer le OpenCurrentDatabase par un "utiliserlabasedéjàouverte"...
Voilà mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
        Dim oAccess As Access.Application
        Dim user As String = args(1)
        Dim fiche As String = args(2)
        Dim filtre As String = args(3)
        Dim hwnd As Long = args(4)
 
        'masque le formulaire
        Me.Visible = False
 
        ' Démarre une nouvelle instance d'Access pour l'automatisation :
        oAccess = New Access.Application
 
        ' Ouvre le CRM si pas déjà ouvert
     oAccess.OpenCurrentDatabase(filepath:="D:\GENESYS\CRM_genesys.mdb", Exclusive:=False)
        'lancer la fonction qui mets le login
        oAccess.Run("ValiderLogin", user, "")
        'ouvre le formulaire
        oAccess.DoCmd.OpenForm(fiche, Access.AcFormView.acNormal, , filtre)
        oAccess.DoCmd.Maximize()
        If Not oAccess.UserControl Then oAccess.UserControl = True
        System.Runtime.InteropServices.Marshal.ReleaseComObject(oAccess)
        oAccess = Nothing
        'ferme le lanceur
        Close()
Merci de votre aide

Guen