La solution la plus simple est de créer une table temporaire et d'utiliser un sous-formulaire en mode continu pour l'afficher.
Les étapes sont les suivantes :
- Copier tes données dans la table temporaire
- Afficher le formulaire et le sous-formulaire
- Une fois que l'utilisateur a choisi recopier les données de la table temporaire dans la table permanente.
Ta table temporaire à la sctructure suivante :
ClefTemp (autonum)
ClefDonnéesPermanant
Autres champs utiles
EstChoisi (booléen, c'est lui que tu relies au bouton bascule)
Le SQL de la source du sous-formulaire est select
select [TableTemporaire].* from [TableTemporaire]
Une variante si tu as peu de types ou peu de données consiste à utiliser la table permanente enrichie du champ EstChoisi et d'ajouter systématiquement TOUS les types à chaque création ou modification.
La première solution fait que pendant la saisie tu n'es plus sur tes tables permanantes et donc que quelqu'un peut faire un changement pendant que ton utilisateur fait sa saisie sans qu'il le sache.
La seconde solution fait que tu vas avoir des enregistrements qui ne servent à rien.
Enfin tu peux imaginer une combinaison des deux ou tu ajoutes temporairement, au moment où l'utilisateur va faire sa saisie, à ta table permanente les types qui n'ont pas été sélectionnés puis tu les supprimes un fois que tu quittes le formulaire.
Évidement la solution la plus simple consiste à ne pas utiliser de bouton bascule et de permettre à l'utilisateur d'ajouter les types dont il a besoin en ajoutant des enregistrements.
A+
Partager