Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2012, 12h47   #1
Invité de passage
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 6
Points : 0
Points : 0
Par défaut gestion vba des enregistrements d'un sous-formulaire en continu

Bonjour,

Dans l'application, j'ai un formulaire qui contient un sous-formulaire en mode continu. Ce sous-formulaire en mode création se présente comme suit, une seule ligne de contrôles
Textbox1 / Textbox2 / …

En mode affichage, cela donne
Donnée1 record 1 / Donnée2 record 1 / ….
Donnée1 record 2 / Donnée2 record 2 / ...
….

L'utilisateur dispose de boutons pour dire s'il veut modifier ou ajouter des enregistrements (il n'est pas autorisé à en supprimer) et pour valider sa saisie ou l'abandonner et laisser les enregistrements dans leur état initial.

Le problème rencontré est que si l'utilisateur par inadvertance clique sur une autre ligne du sous-formulaire en passant d'un champ à l'autre, Access valide la saisie faite.

S'il s'agit d'une modification, ce n'est pas encore trop grave, encore que cela fasse perdre du temps, l'utilisateur peut revenir sur l'enregistrement et reprendre les modifications qui n'ont pas encore été faites.

S'il s'agit d'un ajout, s'il s'aperçoit qu'il n'aurait pas dû le faire, il doit demander à une personne autorisée, la suppression de l'enregistrement saisi à tort.

Par ailleurs, si l'utilisateur clique plusieurs sur le bouton ajout, du fait que la clé des enregistrements est un un numéro automatique, il peut introduire dans la table plusieurs lignes vides.

Question : comment gérer la saisie par enregistrement dans un formulaire en continu . D'avance merci de votre réponse.

En ajout d'enregistrement, voici mon code :

Code :
1
2
Forms("frmSourcesSaisie")("frmSourcesSaisie_sf").Form.AllowAdditions = True
Forms("frmSourcesSaisie")("frmSourcesSaisie_sf").Form.Recordset.AddNew
sachant que l'instruction SQL d'extration de la table figure dans le RecordSource.

Meilleures salutations,
jcs75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 17h39   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 268
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

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

Informations forums :
Inscription : mai 2008
Messages : 1 268
Points : 1 891
Points : 1 891
Bonjour,

Personnellement je n'ai pas de solution miracle, soit je confie ça à access (via les controles sur chaque champ et de cohérence entre tables) soit je gère tout en VBA à grands coups d'évènements afterupdate. En particulier si une ligne est créée par erreur -> undo !

La 2e solution est plus lourde mais bcp plus ergonomique
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h52.


 
 
 
 
Partenaires

Hébergement Web