Detection d'un changement des enregistrements (Access 2000)

Le
tuxim
Titre : Detection d'un changement des enregistrements (Access 2000)

Je doit effectuer une modification sur une base de données Access 2000.
Nom du fichier : clients.mdb.
Cette BD à été crée par une personne tiers .
La base de données contient plusieurs tables qui sont liée entres elles par
des "relations". Les formulaires clients contiennent des nombreux
champsinformations sur des crédits en cours .

Je viens d'ajouter un champs du type Boolean "DOS_UPDATE" dans une des
tables nommé "DOSSIERS". Celui-ci doit être utilisée pour distinguer un
changement des données sur des differents formulaires (fiches) des clients.

Je ne pas d'habitude de travailler avec Accees (Visual Basic) mais plutôt
avec Delphi 6 (Pascal), mais pour ce projet je suis malgré tout oblige
d'apporter quelques modifications à cette base de données pour créer une
petite "interface" entre la BD et mon programme Delphi, qui accède aussi à
cette base de données.

Ma question concernant Access 2000 :

Existe t'il une manière simple pour détecter le changement d'un champs sur
un formulaire, c'est à dire le changement des données sur une fiche de
client? Il me semble un peux fastidieux de déclencher individuellement un
Évènement "Sur Changement" pour chaque Zone de texte, . Il y à au moins
250 zones de textes sur les divers formulaires (au sein de la base de la
données)! Je souhaite en effet que le champs "DOS_UPDATE" soit initié à
"true" quand une modification quelconque est apporte à une des "fiches"
clients.

Mon programme Delphi "scanne" une fois par jour la base de données pour
traiter uniquement les "fiches clients" qui ont le champs "DOS_UPDATE"
initié à "true".

Merci d'avance pour vos suggestions et eventuellement me donner un coup de
main pour l'écriture des quelques lignes de code.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #5021221
Bonjour.

il faut traiter ton sujet dans l'événement Form_Afterupdate. Cet événement
se déclenche lorsque le formulaire a été modifé mais ne donne pas le nom du
contrôle modifié.
Private Sub Form_AfterUpdate()
Me.DOS_UPDATE = True
End Sub
pour info, lors de la 1ere modif, 1er caractère frappé dans un contrôle, la
propriété Dirty passe de False à True et avec elle tu peux savoir qu'une
modif est commencée. par ailleurs dans l'événement Dirty tu peux savoir le
nom du 1er contrôle modifié par la fonction Screen.ActiveControl.Name
Private Sub Form_Dirty(Cancel As Integer)
NomduControle = Screen.ActiveControl.Name
End Sub

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"tuxim" news:407bce16$0$26454$
Titre : Detection d'un changement des enregistrements (Access 2000)

Je doit effectuer une modification sur une base de données Access 2000.
Nom du fichier : clients.mdb.
Cette BD à été crée par une personne tiers ....
La base de données contient plusieurs tables qui sont liée entres elles
par

des "relations". Les formulaires clients contiennent des nombreux
champs...informations sur des crédits en cours ....

Je viens d'ajouter un champs du type Boolean "DOS_UPDATE" dans une des
tables nommé "DOSSIERS". Celui-ci doit être utilisée pour distinguer un
changement des données sur des differents formulaires (fiches) des
clients.


Je ne pas d'habitude de travailler avec Accees (Visual Basic) mais plutôt
avec Delphi 6 (Pascal), mais pour ce projet je suis malgré tout oblige
d'apporter quelques modifications à cette base de données pour créer une
petite "interface" entre la BD et mon programme Delphi, qui accède aussi à
cette base de données.

Ma question concernant Access 2000 :

Existe t'il une manière simple pour détecter le changement d'un champs sur
un formulaire, c'est à dire le changement des données sur une fiche de
client? Il me semble un peux fastidieux de déclencher individuellement un
Évènement "Sur Changement" pour chaque Zone de texte, .... Il y à au moins
250 zones de textes sur les divers formulaires (au sein de la base de la
données)! Je souhaite en effet que le champs "DOS_UPDATE" soit initié à
"true" quand une modification quelconque est apporte à une des "fiches"
clients.

Mon programme Delphi "scanne" une fois par jour la base de données pour
traiter uniquement les "fiches clients" qui ont le champs "DOS_UPDATE"
initié à "true".

Merci d'avance pour vos suggestions et eventuellement me donner un coup de
main pour l'écriture des quelques lignes de code.


tuxim
Le #5021171
MERCI beaucoup pour ton aide.
Publicité
Poster une réponse
Anonyme