Salut,
J'aimerais savoir comment on peut savoir dans quel mode, Edit ou ajout, on se trouve dans un sous-form en mode continu.
Merci
Salut,
J'aimerais savoir comment on peut savoir dans quel mode, Edit ou ajout, on se trouve dans un sous-form en mode continu.
Merci
Salut,
regarde du côté de
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.ViewsAllowed
Salut,
Non, c'st pas se que je voudrais.
Sur le form, on peut cliquer sur un bouton pour ajouter un enregistrement, ou on peut cliquer dans un enregistrement existant pour le modifier mais sans cliquer sur le bouton.
Donc, de ce fait, je voudrais savoir si il existe un moyen de savoir si on est en modif ou en ajout d'un enregistrement.
A+
Bonjour,
Tu peux consulter le Recordset "sous-jacent" au formulaire et lire sa propriété EditMode qui te donnera comme résultat une de ces 3 constantes:
- dbEditNone
- dbEditInProgress
- dbEditAdd
C'est du DAO et j'ajouterais ceci...
Ô DAO, vraiment c'est toi le plus beau !
_
salut à tous,
pour être plus complet =JBO=:
Ô DAO, vraiment c'est toi le plus beau !
Ô DAO, c'est toi qu'il me fÔ!
bien que je suis convaincu d'avoir lu un code pour déterminer cela, (un truc simple surement avec une propriété) mais ne l'ayant pas retrouvé...
tu peux autrement utiliser les événements "Avant insertion" "Après insertion" du formulaire pour déterminer l'état d'édition.
![]()
DAO... ça nous monte au cervÔ ! _
Supposons que le code est exécuté dans le module de code du formulaire, donc le mot clé Me fait référence à ce formulaire.
Avec DAO (le+beau), voilà comme on pourrait procéder:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Select Case Me.Recordset.EditMode Case dbEditAdd Debug.Print "Ajout en cours" Case dbEditInProgress Debug.Print "Modification en cours" Case Else Debug.Print "..." End Select
Ah ben non !!!
J'ai parlé sans tester, alors évidemment... j'ai dit une bêtise car la propriété EditMode du Recordset n'est pas "impactée" par la modification ou l'ajout en cours sur le formulaire !
(je me demande bien pourquoi ! bouhhhhhh)
Mais tout n'est pas perdu, le formulaire a 2 propriétés utiles qui répondent au besoin (vodiem le pressentait, pas nécessaire d'aller chercher plus loin !) :
* NewRecord détermine si l'enregistrement en cours est un nouvel enregistrement
* Dirty détermine si l'enregistrement en cours a subi des modifications depuis sa dernière sauvegarde.
_
allez on lui en veux pas à DAO puisque c'est access qui l'"impacte" pas.
en fait =JBO= je pensais plus à une variable, un contrôle... qu'initialiserait "Avant insertion" et libèrerait "Après insertion"
merci d'avoir retrouvé ces propriétés. c'est rassurant: je suis pas si gâteux que cela...
en conclusion:
Ô DAO, c'est toi le plus bÔ !
Ô DAO, tu me fait défÔ.
Ô =JBO=, à toi, un gros bravÔ.
![]()
Salut à tous,
Merci pour les précisions.
En fait hier soir j'ai fait une variable Booléan qui change d'état suivant si on est dans la procédure Dirty ou BeforeInsert.
Comme le dit JBO et Vodiem.
Merci à vous.
A+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager