web-dev-qa-db-fra.com

Access Database s'ouvre en lecture seule

J'ai créé une base de données mdb et l'ai enregistrée.

Maintenant, je veux le modifier, mais il est écrit en lecture seule, donc je ne peux rien changer.

C'est un fichier d'accès 2000 ouvert avec accès 2007.

Comment puis-je changer cela s'il vous plaît? 

8
Satch3000

Si quelqu'un d'autre a ouvert la base de données, demandez-lui de la fermer. Si la base de données n'a pas été fermée correctement (Access ou un ordinateur est tombé en panne), vous pouvez alors essayer de compresser et réparer le fichier. 

J'ai également remarqué que si le fichier était ouvert ou mis en lecture seule à tout moment, il risquait de se «coincer» comme cela. Alors essayez ceci:

  1. Open Access, mais pas de base de données
  2. Ouvrez le fichier en question, mais ouvrez-le explicitement en mode lecture seule (le bouton 'Ouvrir' est en fait un bouton déroulant. Utilisez le bouton pour ouvrir en lecture seule.
  3. Fermer le fichier (mais pas Access)
  4. Ouvrez le fichier à nouveau, mais ouvrez normalement.

Pas sûr que ce soit un bug ou une fonctionnalité, mais je l'ai vu frustrer beaucoup d'utilisateurs.

11
Steve Mallory

Une autre chose à surveiller est lorsque quelqu'un a accès à READ le partage de fichiers, mais ne peut pas écrire dans le répertoire. Il est correct de rendre la base de données en lecture seule pour quelqu'un, mais si cette dernière la lise (y compris en utilisant une connexion ODBC), il semble nécessaire de disposer des autorisations WRITE pour le répertoire afin de pouvoir créer le fichier verrou. 

J'ai rencontré des situations dans lesquelles la base de données est verrouillée en lecture seule sur le partage de fichiers car l'utilisateur qui y a accédé ne peut pas écrire dans le répertoire. Le seul moyen de résoudre ce problème rapidement est d'appeler l'équipe de stockage, qui peut voir qui détient le fichier et le lancer.

4
Alex

Créez un dossier vide et déplacez le fichier .mdb dans ce dossier. Et essayez de l'ouvrir à partir de là. J'ai essayé de cette façon et cela a fonctionné pour moi.

2
Tchilumba Mera

Vérifiez qu'il n'y a pas de références manquantes - pour ce faire, accédez à la fenêtre de la base de données et cliquez sur "Modules", puis "Conception", puis sélectionnez le menu "Outils", puis "Références". Ou essayez de faire une compilation et voyez si elle compile complètement (allez dans le menu Déboguer puis sélectionnez Compiler) - cela pourrait vous indiquer une référence manquante, par exemple. Bibliothèque d'objets Microsoft Office 11.0. Sélectionnez à nouveau Références dans le menu Outils pour voir si des références sont cochées et dites «MANQUANT:». Dans certains cas, vous pouvez sélectionner une version différente de la liste. Si la version 11.0 est manquante, recherchez la version 12.0, puis recompilez. Cela fait habituellement le tour pour moi. 

0
Elwood Herring

Bien que l'OP soit l'auteur original de la base de données et qu'il ait probablement créé un modèle de données simple, j'avais eu un comportement similaire sur un système plus complexe. Dans mon scénario, le fichier .mdb principal se trouvait sur un emplacement de partage réseau avec un accès en lecture/écriture de l'utilisateur. Le fichier .mdb a référencé des tables dans un autre fichier .mdb situé dans un emplacement réseau différent - où l'utilisateur ne disposait pas d'un accès approprié.

Pour les autres lecteurs de cet article qui résolvent des problèmes similaires, vérifiez le chemin d'accès et l'accès aux tables liées.

Pour vérifier les tables liées ... (en supposant que Access 2010)

  1. Ouvrir la base de données
  2. Cliquez sur l'onglet "Données externes" de la barre d'outils du ruban.
  3. Cliquez sur le bouton de la barre d'outils du ruban 'Gestionnaire de table liée'
  4. Identifier les chemins d'accès aux tables liées
  5. Vérifiez les autorisations de sécurité appropriées pour les chemins identifiés dans la table liée Manager - si vous accédez à des sources ODBC (c'est-à-dire Oracle, DB2, MySQL, PostGRES, etc.), vérifiez les informations d'identification et les pilotes de la base de données.
0
barrypicker

vérifiez également le niveau d'accès au lecteur partagé ..___. Si l'accès au lecteur partagé est en lecture seule, le fichier s'ouvrira au format lecture seule.

0
Kiran

Dans mon cas, c’est parce qu’il était en train de sauvegarder mon processus en arrière-plan qui a commencé avant que j’ai ouvert Access. Ce n’est normalement pas un problème si la base de données est ouverte au démarrage de la sauvegarde.

0
Rob Sedgwick

La raison principale en est que la base de données est ouverte ailleurs.

Cela pourrait être comme déjà dit par beaucoup d'autres:

  • ne pas être fermé correctement quelque part
  • déjà ouvert quelque part

Quand récemment j'ai eu le même problème, bien que différentes versions, j'ai commencé à chercher la raison.

Dans mon cas, j'avais un fichier Excel qui interrogeait les données de la base de données.

Dans le cas où le fichier Excel est ouvert avant la base de données, l'accès donnerait cette erreur.

Conclusion:

Vérifiez tous les fichiers/connexions liés à la base de données. Une connexion ou une requête ouverte ODBC utilisée dans Excel (mon cas) ouvre le fichier mdb et le rend en lecture seule.

0
davejal

j'ai eu le même problème sur mon PC et c'était parce que dans les propriétés -> sécurité, je n'avais pas la propriété du fichier ...

0
Sam