Forum - Questions sur Access - Base de donnees incohérente

le 04/01/2022 : 08:36
par flomen

visiteur
Bonjour,
J'ai besoin de votre aide, cela fait plusieurs fois que j'ai ce problème, la base de données devient inaccessible, j'ai le message :
Microsoft a détecté que cette base de données est incohérente
Mon environnement :
La Base de données se trouve sur un serveur et une base client sur chaque poste
La version est MS Office 2013
Le format des Bases est .mdb
Pour sortir de cette situation il faut demander à tous les utilisateur de quitter l'application pour que je puisse compacter la base de données. Une fois compactées, tout refonctionne
Avez vous déja rencontrez ce problème ?
Cordialement
![]() |
![]() | [ 1 2 ] |
![]() |
![]() |
--------
le 05/01/2022 : 00:29
par 3Stone

Administrateur
Bonjour,
Si plusieurs personnes travaillent sur la même base, il faut s'assurer qu'elles ne puissent pas traiter les des enregistrements identiques.
Dans les formulaires, il est prudent de sélectionner le verrouillage "Enregistrement modifié".
Cela se trouve dans les propriétés, onglet "Données", Verrouillage.
Idem dans les propriétés de la base... voir "Paramètres du client" => Enregistrement par défaut : choisir "Enregistrement modifié".
Et bien sur, je suppose que personne ne met les mains directement dans les tables
Ces verrouillages bloque parfois un utilisateur pendant qu'un autre modifie un enregistrement (ou groupe d'enregistrements), mais c'est mieux que de corrompre la base.
Cordialement,
Pierre (3Stone)
--------
le 05/01/2022 : 22:04
par flomen

visiteur
Bonjour,
Merci pour votre réponse, j'ai bien noté qu'il faut mettre "Enregistrement modifié" sur chaque formulaire, c'est ce que j'ai fait sur tous les formulaires, peut être que j'en ai oublié, pour palier à l'oubli, je vais mettre "Enregistrement modifié" par défaut dans Option.
Dans certains cas, il y a des MAJ de table qui se font en SQL, "Enregistrement modifié" ne concerne que les MAJ faite au niveau formulaire. que faire si l'on utilise SQL pour les MAJ ?
Merci pour votre aide
Cordialement
--------
le 06/01/2022 : 07:13
par flomen

visiteur
--------
le 07/01/2022 : 02:05
par 3Stone

Administrateur
Bonjour,
Set Lg = CurrentDb.OpenRecordset("LogCdeCli", dbOpenDynaset)
Regarde le quatrième paramètre de "OpenRecordset" qui est LockEdit...
Tu peux y mettre "dbPessimistic" pour verrouiller la "page" des recordset.
Si plusieurs utilisateurs travaillent sur les mêmes données, c'est à envisager.
Cordialement,
Pierre (3Stone)
--------
le 07/01/2022 : 16:02
par flomen

visiteur
Bonjour,
Afin de suivre les versions d'office installées sur tous les postes,
J'utilise la Cde : Application.SysCmd(acSysCmdAccessVer)
Qui me donne : 15.0 pour office 2013
Je souhaite obtenir : Microsoft access 2013 (15.0.5349.1000)
Je mémorise cette Info dans une table, ce qui mettre d'avoir l'info sans avoir besoin de passer sur tous les postes
Cordialement
--------
le 09/01/2022 : 15:07
par 3Stone

Administrateur
Bonjour,
Tu peux regarder ce lien : version access
et utiliser la fonction plus bas dans la page "Getting the Full Version Information" que j'ai testé avec Access 2019.
Cordialement,
Pierre (3Stone)
--------
le 09/01/2022 : 21:52
par flomen

visiteur
Merci pour cette information, je vois ça ultérieurement, pour l'instant j'essaie de résoudre le problème : Format de la base de données non reconnu.
J'ai aussi eu l'erreur 3050, j'ai résolu le problème en d'installant la MAJ KB5002104
J'ai énormément de problème depuis mi décembre, peut être des MAJ Microsoft qui posent des problèmes ?
J’ai mis en place ton idée :
Set VER = CurrentDb.OpenRecordset("VERROU", dbOpenDynaset, dbSeeChanges, dbPessimistic)
A suivre
Merci pour ton aide
Cordialement
![]() |
![]() | [ 1 2 ] |
![]() |
![]() |






