Bonjour,
Voilà un problème que je rencontre et que je vous soumets en espérant avoir une réponse.
1ere étape : à partir d'un base vierge :
-> Créer une table : TEST
IDTEST -> Numéro Auto
TEST -> Texte
-> Créer par l'assistant, un formulaire en mode feuille de données sur la table TEST.
-> Sur l'évenement 'Sur activation' (Current), placer sur bout de code vous permettant de savoir que vous passez par là (un point d'arrêt fait l'affaire).
-> Passer en mode formulaire et créer 2 ou 3 enregistrements.
-> Sélectionnez un enregistrement et faites supprimer (touche suppr), l'évènement se déclenche. (normal)
-> Sélectionnez tout les enregistrements (en cliquant sue carré à la jointure de l'entete des lignes et colonnes), touche Suppr, l'évènements ne se produit pas. Idem si vous sélectionner le dernier enrgegistrements ET la ligne d'ajout.
Des que la ligne d'ajout est sélectionnée dans les enregistrements à supprimer, l'évènement Current ne se produit plus.
En poussant les tests un peu plus loin, même access "oublie" de mettre à jour des champs calculées.
2ième étape : Sur la base de l'exemple précédent :
-> créer un formulaire vierge, poser le formulaire TEST précédent en sous formulaire.
-> ajouter une zone de texte calculée avec source contrôle : =[TEST].form![IDTEST]
-> refaire la procédure de suppression décrite précédemment, la zone de texte faisant référence à la valeur de l'ID ne sera pas mise à jour après suppression de la totalité des enregistrements.
Donc, soit j'ai loupé quelque chose, soit c'est un bug qui, même s'il n'est pas amené à se produire souvent, est fortement pénalisant (pas réussi à le contourner).
Edit (précision): Testé sous Access 2000, 2002 et 2007
Partager