Supprimer des Enregistrements de base de données Access, erreur lors de la suppression

StackOverflow https://stackoverflow.com/questions/34161

  •  09-06-2019
  •  | 
  •  

Question

J'ai la situation suivante:J'ai construit un formulaire d'Accès avec un sous-formulaire (les enregistrements sont liés aux enregistrements du formulaire principal par le biais de la clé).Lorsque j'essaie de supprimer tout enregistrement dans le sous-formulaire, j'obtiens le message suivant:“L'accès a suspendu l'action parce que vous et un autre utilisateur a essayé de modifier les données” (traduction approximative de l'allemand).Quelqu'un sait-il comment faire pour supprimer les enregistrements du sous-formulaire (et, respectivement, à partir de la table derrière la forme).

Était-ce utile?

La solution

Si vous êtes actuellement 'édition de" la forme actuelle, alors il ne permettra pas à l'action.La modification d'un enregistrement peuvent être parfois déclenchées par un simple clic à l'intérieur d'un champ, ou d'autres actions simples, vous ne serait pas normalement considérer 'édition'.

C'est généralement évitée, dans l'Accès à l'aide de la méthode RunCommand d'annuler toutes les modifications avant de supprimer le dossier:

DoCmd.RunCommand acCmdUndo

Autres conseils

samjudson suggéré:

DoCmd.RunCommand acCmdUndo

Vous pouvez également utiliser Moi.Annuler pour annuler la dernière modification de la forme sous laquelle le code s'exécute.

Ou, Moi!MySubForm.Forme.Annuler pour annuler la dernière non enregistrées modifier dans le sous-formulaire dont le contrôle de sous-formulaire est nommé "MySubForm".

Vous pouvez également utiliser Moi!MyControl.Annuler pour annuler la dernière modification à un contrôle particulier.

"DoCmd.RunCommand acCmdUndo" s'applique l'opération d'Annulation de l'objet actuellement sélectionné, mais vous ne savez pas avec certitude si elle va s'appliquer à la commande ou au niveau du formulaire.En utilisant les commandes que j'ai suggéré complètement disambiguates ce qui se défait.

Gardez à l'esprit, cependant, que l'Annulation ne sera pas annuler les modifications pour un contrôle après que le contrôle de l'événement AfterUpdate a tiré, ou à une forme après son événement AfterUpdate a tiré (c'est à dire, les données ont été enregistrées dans le sous-tableau de données).

Également cocher la case "ligne mécanisme de verrouillage" que vous avez.Je n'ai pas utilisé l'Accès en temps, mais je me souviens que vous pouvez utiliser jeu que dans les propriétés de la table.Vous pouvez accéder à ces propriétés en cliquant sur le fameux "point" dans le coin supérieur gauche de la table pour afficher ses propriétés.Eh bien, si vous êtes en utilisant des Accès, vous savez de quoi je parle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top