J'ai un formulaire dans lequels j'entre des nouveaux enregistrement (des cheques). Lorsque je clique ensuite sur un bouton, je veux faire des traitements sur chacun de ces nouveaux enregistrements
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les cheques de la table, pas seulement ceux que je viens d'entrer. Comment Faire
Dim rst As DAO.Recordse
Set rst = db.OpenRecordset("Cheque"
Do Until rst.EO
rst.Edi
If rst("percepteur") = "Fiducie" The
rst("MontantClient_Dispo") = -
End I
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"La Mouette"
J'ai un formulaire dans lequels j'entre des nouveaux enregistrement (des cheques). Lorsque je clique ensuite sur un bouton, je veux faire des traitements sur chacun de ces nouveaux
enregistrements.
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les cheques de la table, pas seulement ceux que je viens d'entrer. Comment Faire?
Dim rst As DAO.Recordset Set rst = db.OpenRecordset("Cheque")
Do Until rst.EOF rst.Edit If rst("percepteur") = "Fiducie" Then rst("MontantClient_Dispo") = -1 End If
rst.update rst.MoveNext Loop
Et qu'est ce qui permettrai de distinguer les anciens des nouveaux ?
ou l'inverse... ;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"La Mouette"
J'ai un formulaire dans lequels j'entre des nouveaux enregistrement (des cheques). Lorsque je
clique ensuite sur un bouton, je veux faire des traitements sur chacun de ces nouveaux
enregistrements.
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les cheques de la table, pas
seulement ceux que je viens d'entrer. Comment Faire?
Dim rst As DAO.Recordset
Set rst = db.OpenRecordset("Cheque")
Do Until rst.EOF
rst.Edit
If rst("percepteur") = "Fiducie" Then
rst("MontantClient_Dispo") = -1
End If
rst.update
rst.MoveNext
Loop
Et qu'est ce qui permettrai de distinguer les anciens des nouveaux ?
ou l'inverse... ;-)
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
J'ai un formulaire dans lequels j'entre des nouveaux enregistrement (des cheques). Lorsque je clique ensuite sur un bouton, je veux faire des traitements sur chacun de ces nouveaux
enregistrements.
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les cheques de la table, pas seulement ceux que je viens d'entrer. Comment Faire?
Dim rst As DAO.Recordset Set rst = db.OpenRecordset("Cheque")
Do Until rst.EOF rst.Edit If rst("percepteur") = "Fiducie" Then rst("MontantClient_Dispo") = -1 End If
rst.update rst.MoveNext Loop
Et qu'est ce qui permettrai de distinguer les anciens des nouveaux ?
ou l'inverse... ;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
La Mouette
Rien.... ils sont tous pareils, sinon j'aurais utilisé une requête.
J'ai une feuille dynamique avec les champ à remplir et j'entre tous les chèques nouveaux, quand je clique sur "Mise a Jour" je veux faire des remplir les champs de ces cheques qui étais cachés a l'usager avant de les sauver.
C'est pas clair?
Rien.... ils sont tous pareils, sinon j'aurais utilisé une requête.
J'ai une feuille dynamique avec les champ à remplir et j'entre tous les chèques nouveaux, quand je clique sur "Mise a Jour" je veux faire des remplir les champs de ces cheques qui étais cachés a l'usager avant de les sauver.
Rien.... ils sont tous pareils, sinon j'aurais utilisé une requête.
J'ai une feuille dynamique avec les champ à remplir et j'entre tous les chèques nouveaux, quand je clique sur "Mise a Jour" je veux faire des remplir les champs de ces cheques qui étais cachés a l'usager avant de les sauver.
C'est pas clair?
La Mouette
J'ai essayé de faire ce qui suit lorsque j'appuyais sur "Mise A Jour", mais ca s'executait sur le dernier enregistrement uniquement
If Forms!Form1!Form2!percepteur = "Fiducie" The Forms!Form1![Form2].Form!MontantClient_Dispo = - End I DoCmd.Requer
J'ai essayé de faire ce qui suit lorsque j'appuyais sur "Mise A Jour", mais ca s'executait sur le dernier enregistrement uniquement
If Forms!Form1!Form2!percepteur = "Fiducie" The
Forms!Form1![Form2].Form!MontantClient_Dispo = -
End I
DoCmd.Requer
J'ai essayé de faire ce qui suit lorsque j'appuyais sur "Mise A Jour", mais ca s'executait sur le dernier enregistrement uniquement
If Forms!Form1!Form2!percepteur = "Fiducie" The Forms!Form1![Form2].Form!MontantClient_Dispo = - End I DoCmd.Requer
3stone
Salut,
"La Mouette"
Rien.... ils sont tous pareils, sinon j'aurais utilisé une requête.
donc...
J'ai une feuille dynamique avec les champ à remplir et j'entre tous les chèques nouveaux, quand je clique sur "Mise a Jour" je veux faire des remplir les champs de ces cheques qui étais cachés a
l'usager avant de les sauver.
C'est pas clair?
Non, car "j'entre tous les chèques nouveaux"...
sous entend que tu fait cela dans un formulaire (sûrement en mode continu) et que, le fait de changer d'enregistrement sauve l'enregistrement (cheque) actuel.
A partir de là, impossible de le distinguer d'un ancien enregistrement !
Si je comprends ce que tu veux faire... tu peux faire cela dans l'événement "Avant mise à jour" du formulaire (de l'enregistrement courant, en fait)
If [percepteur] = "Fiducie" Then
[MontantClient_Dispo] = True
end if
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"La Mouette"
Rien.... ils sont tous pareils, sinon j'aurais utilisé une requête.
donc...
J'ai une feuille dynamique avec les champ à remplir et j'entre tous les chèques nouveaux, quand je
clique sur "Mise a Jour" je veux faire des remplir les champs de ces cheques qui étais cachés a
l'usager avant de les sauver.
C'est pas clair?
Non, car "j'entre tous les chèques nouveaux"...
sous entend que tu fait cela dans un formulaire (sûrement en mode continu)
et que, le fait de changer d'enregistrement sauve l'enregistrement (cheque) actuel.
A partir de là, impossible de le distinguer d'un ancien enregistrement !
Si je comprends ce que tu veux faire... tu peux faire cela dans
l'événement "Avant mise à jour" du formulaire (de l'enregistrement courant, en fait)
If [percepteur] = "Fiducie" Then
[MontantClient_Dispo] = True
end if
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Rien.... ils sont tous pareils, sinon j'aurais utilisé une requête.
donc...
J'ai une feuille dynamique avec les champ à remplir et j'entre tous les chèques nouveaux, quand je clique sur "Mise a Jour" je veux faire des remplir les champs de ces cheques qui étais cachés a
l'usager avant de les sauver.
C'est pas clair?
Non, car "j'entre tous les chèques nouveaux"...
sous entend que tu fait cela dans un formulaire (sûrement en mode continu) et que, le fait de changer d'enregistrement sauve l'enregistrement (cheque) actuel.
A partir de là, impossible de le distinguer d'un ancien enregistrement !
Si je comprends ce que tu veux faire... tu peux faire cela dans l'événement "Avant mise à jour" du formulaire (de l'enregistrement courant, en fait)
If [percepteur] = "Fiducie" Then
[MontantClient_Dispo] = True
end if
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Eric
"=?Utf-8?B?TGEgTW91ZXR0ZQ==?=" écrivait news::
Bonjour,
J'ai un formulaire dans lequels j'entre des nouveaux enregistrement (des cheques). Lorsque je clique ensuite sur un bouton, je veux faire des traitements sur chacun de ces nouveaux enregistrements.
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les cheques de la table, pas seulement ceux que je viens d'entrer. Comment Faire?
Dim rst As DAO.Recordset Set rst = db.OpenRecordset("Cheque")
Do Until rst.EOF rst.Edit If rst("percepteur") = "Fiducie" Then rst("MontantClient_Dispo") = -1 End If
rst.update rst.MoveNext Loop
Merci de votre aide!
Bonjour,
Une idée peut-être: Stocker le numero d'enregistrement au moment de la création du 1er enregistrement avec ce formulaire. Puis faire une boucle partant du dernier juqu'à ce numero, dans laquelle on invoquerait la methode Edit puis Update.
Tu declares une variable de portée Module (module de formulaire) Dim DernierEnreg as Long
Sur Ouverture de ton formulaire, tu atteins un nouveau enregistrement et tu stockes dans la variable DernierEnreg le rang du dernier numéro saisi:
Private Sub Form_Open(Cancel As Integer) DoCmd.GoToRecord , , acNewRec DernierEnreg = Me.Recordset.RecordCount End Sub
Sur l'évènement clic de ton bouton, apres avoir sauvé le dernier enregistrement:
Private Sub Commande1_Click() Dim rs As Recordset Set rs = Me.RecordsetClone rs.MoveLast Do While rs!NumeroCheque > DernierEnreg rs.edit ' ici ton traitement rs.update rs.MovePrevious Loop End Sub
J'ai un formulaire dans lequels j'entre des nouveaux enregistrement
(des cheques). Lorsque je clique ensuite sur un bouton, je veux faire
des traitements sur chacun de ces nouveaux enregistrements.
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les
cheques de la table, pas seulement ceux que je viens d'entrer. Comment
Faire?
Dim rst As DAO.Recordset
Set rst = db.OpenRecordset("Cheque")
Do Until rst.EOF
rst.Edit
If rst("percepteur") = "Fiducie" Then
rst("MontantClient_Dispo") = -1
End If
rst.update
rst.MoveNext
Loop
Merci de votre aide!
Bonjour,
Une idée peut-être:
Stocker le numero d'enregistrement au moment de la création du 1er
enregistrement avec ce formulaire.
Puis faire une boucle partant du dernier juqu'à ce numero, dans laquelle
on invoquerait la methode Edit puis Update.
Tu declares une variable de portée Module (module de formulaire)
Dim DernierEnreg as Long
Sur Ouverture de ton formulaire, tu atteins un nouveau enregistrement et
tu stockes dans la variable DernierEnreg le rang du dernier numéro saisi:
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
DernierEnreg = Me.Recordset.RecordCount
End Sub
Sur l'évènement clic de ton bouton, apres avoir sauvé le dernier
enregistrement:
Private Sub Commande1_Click()
Dim rs As Recordset
Set rs = Me.RecordsetClone
rs.MoveLast
Do While rs!NumeroCheque > DernierEnreg
rs.edit
' ici ton traitement
rs.update
rs.MovePrevious
Loop
End Sub
J'ai un formulaire dans lequels j'entre des nouveaux enregistrement (des cheques). Lorsque je clique ensuite sur un bouton, je veux faire des traitements sur chacun de ces nouveaux enregistrements.
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les cheques de la table, pas seulement ceux que je viens d'entrer. Comment Faire?
Dim rst As DAO.Recordset Set rst = db.OpenRecordset("Cheque")
Do Until rst.EOF rst.Edit If rst("percepteur") = "Fiducie" Then rst("MontantClient_Dispo") = -1 End If
rst.update rst.MoveNext Loop
Merci de votre aide!
Bonjour,
Une idée peut-être: Stocker le numero d'enregistrement au moment de la création du 1er enregistrement avec ce formulaire. Puis faire une boucle partant du dernier juqu'à ce numero, dans laquelle on invoquerait la methode Edit puis Update.
Tu declares une variable de portée Module (module de formulaire) Dim DernierEnreg as Long
Sur Ouverture de ton formulaire, tu atteins un nouveau enregistrement et tu stockes dans la variable DernierEnreg le rang du dernier numéro saisi:
Private Sub Form_Open(Cancel As Integer) DoCmd.GoToRecord , , acNewRec DernierEnreg = Me.Recordset.RecordCount End Sub
Sur l'évènement clic de ton bouton, apres avoir sauvé le dernier enregistrement:
Private Sub Commande1_Click() Dim rs As Recordset Set rs = Me.RecordsetClone rs.MoveLast Do While rs!NumeroCheque > DernierEnreg rs.edit ' ici ton traitement rs.update rs.MovePrevious Loop End Sub
A+ Eric
3stone
Salut Eric,
"Eric"
Une idée peut-être:
Je pense qu'il y a simplement incompréhension sur l'expression "nouveaux enregistrements".
Beaucoup de personnes habituées à Word et Excel pense que tant que l'on à pas sauvé, les enregistrements ne sont pas encore "dans" la base...
Je pense que ce qu'il veut faire doit ce faire dans l'avant mise à jour... comme je l'indique dans mon post.
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut Eric,
"Eric"
Une idée peut-être:
Je pense qu'il y a simplement incompréhension
sur l'expression "nouveaux enregistrements".
Beaucoup de personnes habituées à Word et Excel
pense que tant que l'on à pas sauvé, les enregistrements
ne sont pas encore "dans" la base...
Je pense que ce qu'il veut faire doit ce faire dans
l'avant mise à jour... comme je l'indique dans mon post.
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
En effet.. je n'avais pas pensée a cette solution!!! Ca marche Merci!
Eric
Bonsoir Pierre,
J'avais pris le post en cours en parallele de ta 1ere réponse et puis j'étais passé à autre chose. En fermant certaines fenetres j'ai vu que j'avais pas répondu alors j'y suis allé de ma belle plume ... et j'étais resté sur le bout de code sans trop réfléchir.
En plus ta proposition me parait la meilleure car on a toute l'info pour traiter chaque élément saisi.
Je pense qu'il y a simplement incompréhension sur l'expression "nouveaux enregistrements".
Beaucoup de personnes habituées à Word et Excel pense que tant que l'on à pas sauvé, les enregistrements ne sont pas encore "dans" la base...
Je pense que ce qu'il veut faire doit ce faire dans l'avant mise à jour... comme je l'indique dans mon post.
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Bonsoir Pierre,
J'avais pris le post en cours en parallele de ta 1ere réponse et puis
j'étais passé à autre chose. En fermant certaines fenetres j'ai vu que
j'avais pas répondu alors j'y suis allé de ma belle plume ... et j'étais
resté sur le bout de code sans trop réfléchir.
En plus ta proposition me parait la meilleure car on a toute l'info pour
traiter chaque élément saisi.
J'avais pris le post en cours en parallele de ta 1ere réponse et puis j'étais passé à autre chose. En fermant certaines fenetres j'ai vu que j'avais pas répondu alors j'y suis allé de ma belle plume ... et j'étais resté sur le bout de code sans trop réfléchir.
En plus ta proposition me parait la meilleure car on a toute l'info pour traiter chaque élément saisi.
Je pense qu'il y a simplement incompréhension sur l'expression "nouveaux enregistrements".
Beaucoup de personnes habituées à Word et Excel pense que tant que l'on à pas sauvé, les enregistrements ne sont pas encore "dans" la base...
Je pense que ce qu'il veut faire doit ce faire dans l'avant mise à jour... comme je l'indique dans mon post.
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
sylvie raynaud
Pas de problèmes,supprimer les chèques. "La Mouette" a écrit dans le message de news:
Bonjour,
J'ai un formulaire dans lequels j'entre des nouveaux enregistrement (des cheques). Lorsque je clique ensuite sur un bouton, je veux faire des
traitements sur chacun de ces nouveaux enregistrements.
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les cheques de la table, pas seulement ceux que je viens d'entrer. Comment Faire?
Dim rst As DAO.Recordset Set rst = db.OpenRecordset("Cheque")
Do Until rst.EOF rst.Edit If rst("percepteur") = "Fiducie" Then rst("MontantClient_Dispo") = -1 End If
rst.update rst.MoveNext Loop
Merci de votre aide!
Pas de problèmes,supprimer les chèques.
"La Mouette" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: 8A188880-9150-49CF-B651-9F10A44AB3FB@microsoft.com...
Bonjour,
J'ai un formulaire dans lequels j'entre des nouveaux enregistrement (des
cheques). Lorsque je clique ensuite sur un bouton, je veux faire des
traitements sur chacun de ces nouveaux enregistrements.
J'ai ce qui suit pour le moment, mais ca fait le tour de TOUS les cheques
de la table, pas seulement ceux que je viens d'entrer. Comment Faire?
Dim rst As DAO.Recordset
Set rst = db.OpenRecordset("Cheque")
Do Until rst.EOF
rst.Edit
If rst("percepteur") = "Fiducie" Then
rst("MontantClient_Dispo") = -1
End If