IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

message à l'ouverture d'access 97


Sujet :

Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Par défaut message à l'ouverture d'access 97
    salut tout le monde!

    je voudrais savoir s'il est possible qu'à l'ouverture d'access 97, un message d'erreur apparaisse uniquement si quelqu'un d'autre l'à déjà ouvert avant lui, sinon il peut l'utiliser normalement.

    Tout ceci pour éviter que plusieurs personnes n'écrivent dans le formulaire en meme temps ce qui compromettrait le bon fonctionnement de celui-ci.

    J'ai déjà regardé dans la FAQ mais cela existe pour un formulaire et sous 2000.

    Je remercie d'avance tous ceux qui m'aideront à résoudre mon souci.

  2. #2
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    tu as tenté le fait de lancer l'ouverture en mode exclusif ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Par défaut
    salut Maxence HUBICHE ! et merci de m'aider.

    oui j'ai essayé mais sans réussite, je vais alors tester default record locking sur all records ou edited record et je te dis apres ce qu'il en est.

  4. #4
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    tu peux aussi tester dans le .ldb qu'il n'y a que 64 octets d'alloués (un utilisateur)
    Si plus => déjà quelqu'un !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Par défaut
    je ne sais c'est pas ce que sais que le .ldb, pourrais tu m'expliquer stp ?

    merci

  6. #6
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    ouvre ta base de données.
    Maintenant, va dans l'explorateur windows, regarde dans le dossier contenant ta base.
    Que vois-tu ?
    Un autre fichier.
    Il contient l'extension ldb
    ouvre-le avec le bloc-note
    et regarde dedans

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Par défaut
    oui ce que tu m'as dis fonctionne bien mais c'est une manipulation trop longue, et il faudrait, ça serait vraiment génial si ça pouvait etre comme ça, au moment de l'ouverture d'access 97 (sachant que l'on travaille en réseau et que chaque membre à son compte perso) si quelqu'un l'a déjà ouvert, qu'un message apparaisse disant que l'on ne peut pas se servir d'access 97 et que l'on devra attendre que l'autre ait fini pour l'utiliser.

    Je ne sais pas si c'est réalisable ou non mais je serai ravi si vous pouviez m'aider à résoudre ce souci. Je te dis ça parce que je travaille avec des tchoutchous qui comprennent vraiment rien aux ordinateurs donc il faut absolument qu'ils n'aient rien à chercher, ou tres tres tres peu.

    MERCI

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Par défaut
    Salut,

    Tu peux aussi créer une propriété pour tester si la base est déjà utilisée (ça permet de personnaliser le message plutot que le message d'access pour une base en mode excusif) :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Option Compare Database
     
     
    Public Sub sOuvrir()
     
    'tester si qq'un est déja connecté
    If fYaqq1() = True Then
        MsgBox "désolé c'est déja pris !", vbCritical + vbOKOnly, "Trop tard ! "
        Application.Quit
    Else
       CurrentDb.Properties("Occupe") = True
    End If
     
     
    End Sub
     
    Public Sub sQuitter()
    CurrentDb.Properties("Occupe") = False
    Application.Quit
     
    End Sub
     
     
    Public Function fYaqq1() As Boolean
    Dim Prp As Property
       On Error GoTo fYaqq1_Error
    fYaqq1 = CurrentDb.Properties("Occupe")
     
    fYaqq1_Exit:
         Exit Function
     
    fYaqq1_Error:
        If Err.Number = 3270 Then
            'la propriété n'existe pas encore :
            Set Prp = CurrentDb.CreateProperty("Occupe", dbBoolean, False)
            CurrentDb.Properties.Append Prp
            Set Prp = Nothing
            fYaqq1 = CurrentDb.Properties("Occupe")
        Else
            MsgBox "Erreur inatendue N°" & Err.Number & " (" & Err.Description & ") dans la fonction/procedure fYaqq1 du module DvpPtCom"
        End If
        GoTo fYaqq1_Exit:
     
     
    End Function
    A+

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Par défaut
    Je te remercie Muhad'hib de m'avoir aidé mais je l'integre où ce code ? dans une propriété du form ? ou ça? a quel nom?

    MERCI

  10. #10
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    slt,

    petite mise en garde avec la propriété :
    si l'application plante, la propriété n'est pas mise à False et donc on ne peut plus ouvrir l'application
    il faut de plus bien verouiller la fermeture par la croix en haut à droite et par ALT+F4

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Par défaut
    slt Arkham46 et merci pour ton conseil. as-tu une autre solution?

    Merci

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Par défaut
    Re,

    Citation Envoyé par Arkham46
    si l'application plante, la propriété n'est pas mise à False et donc on ne peut plus ouvrir l'application
    C'est clair, il faut aussi prevoir une solution pour forcer la propriété à false.

    La meilleur solution reste de mettre la base en exclusif, mais bon...

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Par défaut
    si c'est bien ce que je crois ,pour activer Exclusif
    Tool/Options.../Advanced/ Default Open Mode sur Exclusive?
    c bien ca?

  14. #14
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Citation Envoyé par Maxence HUBICHE
    tu peux aussi tester dans le .ldb qu'il n'y a que 64 octets d'alloués (un utilisateur)
    Si plus => déjà quelqu'un !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function NbConnections() As Integer
    Dim FileNumber As Integer
    Dim Buffer As String
    NbConnections = 0
    FileNumber = FreeFile
    Open Left(CurrentDb.Name, Len(CurrentDb.Name) - 4) & ".ldb" For Binary Access Read As #FileNumber
    While Not EOF(FileNumber)
        Buffer = Input(64, #FileNumber)
        If Buffer <> "" Then NbConnections= NbConnections + 1
    Wend
    Close #FileNumber
    End Function
    Si NbConnections = 1, alors c'est la première connection
    Si NbConnections > 1, alors quelqu'un est déjà connecté

    Attention : cette fonction ne renvoie pas le nombre d'utilisateurs actuellement connectés
    --> à la première connection le résultat vaut 1
    --> à chaque connection le résultat s'incrémente de 1
    --> à chaque déconnection le résultat ne change pas

Discussions similaires

  1. [AC-2003] Afficher message à l'ouverture d'access à une certaine date
    Par makila64 dans le forum VBA Access
    Réponses: 5
    Dernier message: 28/06/2012, 11h08
  2. [A-03] Enlever le message à l'ouverture d'access
    Par moilou2 dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/12/2008, 17h21
  3. pb message erreur à l'ouverture d'access
    Par conics dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/03/2008, 10h33
  4. message à l'ouverture d'ACCESS
    Par NATOU2 dans le forum Access
    Réponses: 1
    Dernier message: 14/12/2007, 23h12
  5. Message "Security Warning" à l'ouverture d'access
    Par Tintou dans le forum Access
    Réponses: 11
    Dernier message: 05/07/2007, 08h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo