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

VBA Access Discussion :

enlever message base en lecture seule


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut enlever message base en lecture seule
    Bonjour,

    Cette question a déjà été posée, mais sans réponse, c'est pourquoi je me permet de la re-poser :

    Quand on ouvre plusieurs fois la même base (le même fichier mdb ou mde),
    à partir de la deuxième ouverture, on obtient ce message dans un bandeau à l'ouverture :
    la base est ouverte en lecture seule. (...) pour modifier la structure, enregistrez une copie.
    Cela ne me dérange pas qu'elle soit en lecture seule, mais je ne veut pas de ce message.
    cela se produit même pour un mde/ade
    et même en ouvrant la base depuis le runtime !
    (alors que de toute façons les modification de structure n'y sont pas possible!)

    Comment faire pour ouvrir une même base sur plusieurs poste sans avoir ce message?
    Je dois absolument laisser les utilisateurs accéder au même fichier (pas à une copie locale),
    et je ne peut me permettre de laisser ce message chez le client

    Une piste : peut-etre une valeur non documentée de currentDB.properties a rajouter dans la base ??
    (Existe-t-il une liste exhaustive de toutes les currentDB.properties reconnues par access?)

    Merci

  2. #2
    Membre régulier Avatar de GillesDeVuif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 88
    Points : 110
    Points
    110
    Par défaut
    Bonjour.
    Tu peux essayer d'ajouter cela à ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.SetWarnings False
    Cela permet de désactiver l'ensemble des avertissements : pour réactiver , c'est la même avec "True"

    Cordialement.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut
    Non, pas du tout !
    SetWarnings sert uniquement pour masquer les messages de confirmations après une action de l'utilisateur

    moi je parle d'un message qui s'affiche automatiquement à l'ouverture de la base.
    Dans la version 2007, le message apparait sous la forme d'un bandeau en dessous du ruban.

    Merci quand même.

    Une autre idée ??

  4. #4
    Membre régulier Avatar de GillesDeVuif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 88
    Points : 110
    Points
    110
    Par défaut
    Re.
    Peut-être par les paramètres de Application.setOption ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.SetOption "Default Open Mode for Databases", 0
    Application.SetOption "Default Record Locking", 0
    article msdn : http://msdn.microsoft.com/en-us/libr...ffice.10).aspx

    Cordialement.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut up
    Personne n'a d'idée pour enlever cette saleté de barre d'information ?

    ça fait vraiment pas très propre en production.

    Les utilisateur ne veulent de toute façons pas toucher à la structure, ils ne savent même pas ce que c'est !
    Et en plus la base est un MDE à la structure intouchable, ce message est vraiment une aberration ! ! !

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Citation Envoyé par azur668 Voir le message
    Existe-t-il une liste exhaustive de toutes les currentDB.properties reconnues par access ?
    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
    Private Sub DBproperties()
    Dim FSO As New Scripting.FileSystemObject
    Dim FileText As Scripting.TextStream
    Dim prp
     
    Set FileText = FSO.OpenTextFile(Planet_path & "properties.txt", ForWriting, True)
    For Each prp In CurrentDb.Properties
      On Error GoTo suite:
      FileText.WriteLine prp.Name & Left("                              ", 30 - Len(prp.Name)) & " " & prp.Value
    suite:
    Next prp
    FileText.Close
    Set FSO = Nothing
    Shell "notepad.exe " & Planet_path & "properties.txt" ', vbMaximizedFocus
    End Sub
    Avec cette séquence je n'ai pas de message mias je ne sais pas laquelle évite le conflit (Mode_admin est un booléen faux si l'utilisateur n'est pas administrateur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CurrentDb.Properties("AllowBypassKey") = Mode_admin
    CurrentDb.Properties("StartupShowDBWindow") = Mode_admin
    CurrentDb.Properties("AllowBuiltinToolbars") = Mode_admin
    CurrentDb.Properties("AllowFullMenus") = Mode_admin
    CurrentDb.Properties("AllowShortcutMenus") = Mode_admin
    CurrentDb.Properties("AllowToolbarChanges") = Mode_admin
    NB : la séquence nécessite un redémarrage de l'appli

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Il suffit de faire en sorte que le problème en amont soit résolu. Ce n'est pas le message qui est génant mais son mode d'ouverture. Interesse toi à la notion de base de données frontale / dorsale et aussi aux tables liées.

    Là, tu fais une mauvaise utilisation d'Access à priori, plein d'opérations nécessitent que la base soit en lecture/écriture

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut
    Merci Nico, Merci Tofalu,
    mais mon problème n'est toujours pas résolu...

    En fait il ne se produit que sur un fichier ADP/ADE :

    Pour un fichier MDB, l'ouverture simultané du même fichier MDB sur deux postes ne pose aucun problème tant que aucun n'est en mode exclusif.
    mais si un poste l'ouvre en exclusif, alors le message apparait et c'est normal (quoique il serai interessant de pouvoir le masquer)

    Par contre pour une fichier ADP, si on ouvre le même fichier sur deux poste, le message apparait toujours sur le deuxième poste.
    il semblerai que l'ouverture d'un ADP se fasse systématiquement en exclusif.

    Une solution pour pouvoir partager à plusieurs un même fichier ADP en exploitation sans avoir ce message ?

    (Il s'agit d'une appli en exploitation et les utilisateurs n'ont absolument pas l'intention de modifier la structure de la base)

  9. #9
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Euh, chaque poste doit avoir son propre fichier ADP c'est les bases mêmes d'un client/serveur en l'occurence Access / SQL Server

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par Tofalu Voir le message
    Euh, chaque poste doit avoir son propre fichier ADP c'est les bases mêmes d'un client/serveur en l'occurence Access / SQL Server
    Pas forcément, le fichiers ADP n'étant pas destiné a être modifié (en l'occurence c'est un ADE),
    pourquoi ne pas utiliser le même pour tous les utilisateurs, comme un exe qui serai sur un lecteur réseau ?

    Au passage cela simplifie énormément la gestion des versions, puisque tout le monde utilise forcément la même version.
    Autrement, comment indiquer a un utilisateur que sa version est périmée ?
    (bien sur c'est possible par le biais d'un flag dans la base dorsale, mais c'est assez complexe et nécessite une intervention de l'utilisateur)

  11. #11
    HAY
    HAY est déconnecté
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par azur668 Voir le message
    Pas forcément, le fichiers ADP n'étant pas destiné a être modifié (en l'occurence c'est un ADE),
    pourquoi ne pas utiliser le même pour tous les utilisateurs, comme un exe qui serai sur un lecteur réseau ?

    Au passage cela simplifie énormément la gestion des versions, puisque tout le monde utilise forcément la même version.
    J'ai découvert ce matin que j'avais le même problème. Et j'ai trouvé une solution ici: http://www.codekabinett.com/page.php?Theme=14&Lang=2

    L'astuce est de forcer l'exécution d'Acces en runtime avec un raccourcis spécifique. Exemple:
    "C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE" /runtime "D:\3DPProg\test.ade"

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Pour information, il existe le même problème sur les fichiers AccDR issus de l'Assistance de Package.
    La modification du raccourci lançant votre fichier Frontal n'y change rien.
    Je n'ai pas eu le temps de faire le test sur les MDE/ADE.

    Pour ce qui est des propriétés supplémentaires (CF : currentDB.properties a rajouter dans la base ??), même aprés les avoir parcourues les unes à la suite des autres, je n'ai rien vu qui pourrait faire l'affaire...

    Pour les options suivantes :
    - Application.SetOption "Default Open Mode for Databases", 0
    - Application.SetOption "Default Record Locking", 0
    Elles ne sont valident que sur les MDB.

Discussions similaires

  1. base en lecture seule alors que non
    Par loric92 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 24/05/2009, 19h41
  2. Hibernate et base en lecture seule
    Par Wutintin31 dans le forum Hibernate
    Réponses: 3
    Dernier message: 21/11/2007, 10h53
  3. base en lecture seule : impossible à modifier
    Par dumca dans le forum Access
    Réponses: 4
    Dernier message: 11/05/2007, 12h09
  4. Message d'ouverture de base en lecture seule
    Par jlc1006 dans le forum Access
    Réponses: 3
    Dernier message: 15/12/2006, 10h17
  5. [MSDE]base en lecture seule à partir d'une certaine heure
    Par groum999 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/09/2004, 12h16

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