ADO multiutilisateurs

kat40 Messages postés 38 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 19 mars 2008 - 8 juil. 2004 à 15:25
cs_boumbo73 Messages postés 107 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 16 décembre 2010 - 11 mars 2005 à 11:19
J'ai vraiment besoin de votre aide. Mon application se connecte avec ADO à une base de données access. L'application est placée sur un serveur donc je ne veux pas que deux personnes rentrent des données en même temps, donc il faut que je rendre ma connexion exclusive. Et voilà mon problème, je commence en vb, je ne sais pas comment faire.

Voici mon code:


 Dim quelquun As Integer 
    quelquun = VerifierQqcnDepot 
'    If quelquun = 1 Then 
'        MsgBox "L'application est utilisée présentement par un autre utilisateur" + vbNewLine + "Veuillez réessayer dans quelques minutes" 
'        recevoirUtilise5 (True) 
'        Unload Me 
'    Else 
'        Call frmZEcrireBase.EcrireQuelquunDepot(1) 
        If TestBD() = True Then 
            Dim chemin As String 
            chemin = chercherChemin 
            adoDepot.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & chemin & ";Persist Security Info=False" 
            adoDepot 
            adoDepot.RecordSource = "Depot" 
            adoDepot.CursorLocation = adUseClient 
            adoDepot.CursorType = adOpenDynamic 
            adoDepot.LockType = adLockOptimistic 
            adoDepot.Refresh 
            txtDepot.Enabled = False 
            txtMontant.Enabled = False 
            txtEncaisse.Enabled = False 
            cmdAnnuler.Enabled = False 
            cmdModifier.Enabled = True 
            cmdAjouter.Enabled = True 
            cmdAccepter.Enabled = False 
            cmdSupprimer.Enabled = True 
            lstMontant.Enabled = False 
            lstDateDepot.Enabled = False 
            lstEncaisse.Enabled = False 
            RemplirListe 
            If adoDepot.Recordset.RecordCount > 0 Then lstDepot.ListIndex = 0 
            calendrier.Today 
        Else 
            MsgBox "Impossible de trouver la base de données." + vbNewLine + "Veuillez vous assurer que le chemin est valide." + vbNewLine + "Pour en changer le chemin, allez dans OUTILS --> Base de données --> Parcourir(choisir la base de données) -- > Appliquer", vbCritical, "Erreur" 
            txtDepot.Enabled = False 
            txtMontant.Enabled = False 
            txtEncaisse.Enabled = False 
            cmdAnnuler.Enabled = False 
            cmdModifier.Enabled = False 
            cmdAjouter.Enabled = False 
            cmdAccepter.Enabled = False 
            cmdSupprimer.Enabled = False 
            lstMontant.Enabled = False 
            lstDepot.Enabled = False 
            lstDateDepot.Enabled = False 
            lstEncaisse.Enabled = False 
        End If 
'    End If 
End Sub 



Présentement, lorsqu'UNE personne ouvre le formulaire, un 1 s'inscrit dans la base pour la bloquer et lorsqu'il quitte un 0 s'inscrit, ce qui permet de liberer l'application. Cette façon de procéder n'est pas l'idéale et je voudrais la simplifier.

Je travaille des postes XP avec Access 2002 par contre le serveur est sous NT.

N.B: J'aimerais que lorsqu'une personne essai de se connecter et que l'application est occupée, un msgbox l'avise d'attendre!!!!

Pour moi c'est compliqué mais peut-être que quelqu'un connait la solution.

Encore un gros merci de prendre le temps de me lire et surtout de m'aider

1 réponse

cs_boumbo73 Messages postés 107 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 16 décembre 2010
11 mars 2005 à 11:19
Bonjour,

Alors je ne sais pas si tu as trouvé la solution mais un petit msgbox permettrait de gerer l'accès au formulaire.Tu déclares en public 'quelquun' comme ca c'est accessible dans toute la base. Et tu vérifies avant l'accès au formulaires si 'quelquun' est tu met un msgbox et tu bloquse le bouton (bouton.enabled false).
Et qd qqun quitte le formulaire quelquun passe à 0

Si tu as trouvé une autre solution, je veux bien savoir comment tu as fait !
0
Rejoignez-nous