J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup
d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments.
Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous
les éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst
Do While not Forms!F1!SF2.Form.Recordset.EOF
'Action
DoCmd.GotoRecord acForm,"SF2",acNext
Loop
DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert...
Quelqu'un a-t-il une méthode?
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Je mets ce code là:
Do While not Forms!F1!SF2.Form.Recordset.EOF 'Action
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup
d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments.
Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous
les éléments de la liste contenu dans SF2.
Je mets ce code là:
Do While not Forms!F1!SF2.Form.Recordset.EOF
'Action
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Je mets ce code là:
Do While not Forms!F1!SF2.Form.Recordset.EOF 'Action
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup
d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments.
Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous
les éléments de la liste contenu dans SF2.
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Malheureusement, Access m'indique que SF2 n'est pas ouvert... Quelqu'un a-t-il une méthode?
Merci d'avance
Karim
Raymond [mvp]
Bonjour.
tu as 2 solutions simples: 1_ par docmd sur le formulaire Me.SF2.SetFocus DoCmd.GoToRecord , , acFirst DoCmd.GoToRecord , , acNext etc etc....... cette méthode impose de mettre le focus sur le sous-formulaire et ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset Set Rs = Me.SF2.Form.Recordset If Rs.BOF Then Exit Sub Do Until Rs.EOF ' ici le traitement des données Rs.MoveNext Loop Set Rs = Nothing
La solution 2 étant préférable parceque plus simple. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" a écrit dans le message de news:
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst Do While not Forms!F1!SF2.Form.Recordset.EOF 'Action DoCmd.GotoRecord acForm,"SF2",acNext Loop DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert... Quelqu'un a-t-il une méthode?
Merci d'avance
Karim
Bonjour.
tu as 2 solutions simples:
1_ par docmd sur le formulaire
Me.SF2.SetFocus
DoCmd.GoToRecord , , acFirst
DoCmd.GoToRecord , , acNext
etc etc.......
cette méthode impose de mettre le focus sur le sous-formulaire et
ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset
Set Rs = Me.SF2.Form.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
' ici le traitement des données
Rs.MoveNext
Loop
Set Rs = Nothing
La solution 2 étant préférable parceque plus simple.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" <karim.hasnaoui@planetis.com> a écrit dans le message de news:
uA46Y32tEHA.3872@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup
d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments.
Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les
éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst
Do While not Forms!F1!SF2.Form.Recordset.EOF
'Action
DoCmd.GotoRecord acForm,"SF2",acNext
Loop
DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert...
Quelqu'un a-t-il une méthode?
tu as 2 solutions simples: 1_ par docmd sur le formulaire Me.SF2.SetFocus DoCmd.GoToRecord , , acFirst DoCmd.GoToRecord , , acNext etc etc....... cette méthode impose de mettre le focus sur le sous-formulaire et ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset Set Rs = Me.SF2.Form.Recordset If Rs.BOF Then Exit Sub Do Until Rs.EOF ' ici le traitement des données Rs.MoveNext Loop Set Rs = Nothing
La solution 2 étant préférable parceque plus simple. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" a écrit dans le message de news:
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst Do While not Forms!F1!SF2.Form.Recordset.EOF 'Action DoCmd.GotoRecord acForm,"SF2",acNext Loop DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert... Quelqu'un a-t-il une méthode?
Merci d'avance
Karim
Karim
J'ai un peu changé mon fusil d'épaule... J'ai tenté la solution 1, dans une fonction publique se trouvant dans le sous-formulaire SF2.
J'ai mis le code suivant: DoCmd.GoToRecord ,,acFirst
Do While not Me.Recordset.EOF 'Actions DoCmd.GoToRecord ,, acNext Loop
Mon soucis, est que sur le premier Next, il me sort une erreur 2105 (Impossible d'atteindre l'enregistrement spécifié)...
Je ne pense pas que la solution 2 marche dans mon cas, car dans mes actions, j'utilise les champs présentés dans SF2. (J'ai donc besoin que SF2 se positionne sur chaque ligne)
Merci pour vos lumières ;)
Bonjour.
tu as 2 solutions simples: 1_ par docmd sur le formulaire Me.SF2.SetFocus DoCmd.GoToRecord , , acFirst DoCmd.GoToRecord , , acNext etc etc....... cette méthode impose de mettre le focus sur le sous-formulaire et ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset Set Rs = Me.SF2.Form.Recordset If Rs.BOF Then Exit Sub Do Until Rs.EOF ' ici le traitement des données Rs.MoveNext Loop Set Rs = Nothing
La solution 2 étant préférable parceque plus simple. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" a écrit dans le message de news:
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst Do While not Forms!F1!SF2.Form.Recordset.EOF 'Action DoCmd.GotoRecord acForm,"SF2",acNext Loop DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert... Quelqu'un a-t-il une méthode?
Merci d'avance
Karim
J'ai un peu changé mon fusil d'épaule...
J'ai tenté la solution 1, dans une fonction publique se trouvant dans le
sous-formulaire SF2.
J'ai mis le code suivant:
DoCmd.GoToRecord ,,acFirst
Do While not Me.Recordset.EOF
'Actions
DoCmd.GoToRecord ,, acNext
Loop
Mon soucis, est que sur le premier Next, il me sort une erreur 2105
(Impossible d'atteindre l'enregistrement spécifié)...
Je ne pense pas que la solution 2 marche dans mon cas, car dans mes actions,
j'utilise les champs présentés dans SF2. (J'ai donc besoin que SF2 se
positionne sur chaque ligne)
Merci pour vos lumières ;)
Bonjour.
tu as 2 solutions simples:
1_ par docmd sur le formulaire
Me.SF2.SetFocus
DoCmd.GoToRecord , , acFirst
DoCmd.GoToRecord , , acNext
etc etc.......
cette méthode impose de mettre le focus sur le sous-formulaire et
ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset
Set Rs = Me.SF2.Form.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
' ici le traitement des données
Rs.MoveNext
Loop
Set Rs = Nothing
La solution 2 étant préférable parceque plus simple.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" <karim.hasnaoui@planetis.com> a écrit dans le message de news:
uA46Y32tEHA.3872@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup
d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments.
Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les
éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst
Do While not Forms!F1!SF2.Form.Recordset.EOF
'Action
DoCmd.GotoRecord acForm,"SF2",acNext
Loop
DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert...
Quelqu'un a-t-il une méthode?
J'ai un peu changé mon fusil d'épaule... J'ai tenté la solution 1, dans une fonction publique se trouvant dans le sous-formulaire SF2.
J'ai mis le code suivant: DoCmd.GoToRecord ,,acFirst
Do While not Me.Recordset.EOF 'Actions DoCmd.GoToRecord ,, acNext Loop
Mon soucis, est que sur le premier Next, il me sort une erreur 2105 (Impossible d'atteindre l'enregistrement spécifié)...
Je ne pense pas que la solution 2 marche dans mon cas, car dans mes actions, j'utilise les champs présentés dans SF2. (J'ai donc besoin que SF2 se positionne sur chaque ligne)
Merci pour vos lumières ;)
Bonjour.
tu as 2 solutions simples: 1_ par docmd sur le formulaire Me.SF2.SetFocus DoCmd.GoToRecord , , acFirst DoCmd.GoToRecord , , acNext etc etc....... cette méthode impose de mettre le focus sur le sous-formulaire et ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset Set Rs = Me.SF2.Form.Recordset If Rs.BOF Then Exit Sub Do Until Rs.EOF ' ici le traitement des données Rs.MoveNext Loop Set Rs = Nothing
La solution 2 étant préférable parceque plus simple. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" a écrit dans le message de news:
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst Do While not Forms!F1!SF2.Form.Recordset.EOF 'Action DoCmd.GotoRecord acForm,"SF2",acNext Loop DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert... Quelqu'un a-t-il une méthode?
Merci d'avance
Karim
Raymond [mvp]
dans la 2e solution, c'est pareil car c'est le même recordset, on voit le déplacement sur l'écran.
pour l'autre, le Docmd s'applique à l'objet ayant le focus, ce qui n'est pas le cas du SF2. il faut lui donner le focus comme je te l'avais indiqué, par Forms("F1")("SF2").SetFocus ou Forms!F1!SF2.Form.SetFocus je pense que c'est ça.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" a écrit dans le message de news:
J'ai un peu changé mon fusil d'épaule... J'ai tenté la solution 1, dans une fonction publique se trouvant dans le sous-formulaire SF2.
J'ai mis le code suivant: DoCmd.GoToRecord ,,acFirst
Do While not Me.Recordset.EOF 'Actions DoCmd.GoToRecord ,, acNext Loop
Mon soucis, est que sur le premier Next, il me sort une erreur 2105 (Impossible d'atteindre l'enregistrement spécifié)...
Je ne pense pas que la solution 2 marche dans mon cas, car dans mes actions, j'utilise les champs présentés dans SF2. (J'ai donc besoin que SF2 se positionne sur chaque ligne)
Merci pour vos lumières ;)
Bonjour.
tu as 2 solutions simples: 1_ par docmd sur le formulaire Me.SF2.SetFocus DoCmd.GoToRecord , , acFirst DoCmd.GoToRecord , , acNext etc etc....... cette méthode impose de mettre le focus sur le sous-formulaire et ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset Set Rs = Me.SF2.Form.Recordset If Rs.BOF Then Exit Sub Do Until Rs.EOF ' ici le traitement des données Rs.MoveNext Loop Set Rs = Nothing
La solution 2 étant préférable parceque plus simple. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" a écrit dans le message de news:
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst Do While not Forms!F1!SF2.Form.Recordset.EOF 'Action DoCmd.GotoRecord acForm,"SF2",acNext Loop DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert... Quelqu'un a-t-il une méthode?
Merci d'avance
Karim
dans la 2e solution, c'est pareil car c'est le même recordset, on voit le
déplacement sur l'écran.
pour l'autre,
le Docmd s'applique à l'objet ayant le focus, ce qui n'est pas le cas du
SF2. il faut lui donner le focus comme je te l'avais indiqué, par
Forms("F1")("SF2").SetFocus ou Forms!F1!SF2.Form.SetFocus
je pense que c'est ça.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" <Karim@discussions.microsoft.com> a écrit dans le message de news:
3F70D233-9FE2-4401-A5F7-BDF3D686E902@microsoft.com...
J'ai un peu changé mon fusil d'épaule...
J'ai tenté la solution 1, dans une fonction publique se trouvant dans le
sous-formulaire SF2.
J'ai mis le code suivant:
DoCmd.GoToRecord ,,acFirst
Do While not Me.Recordset.EOF
'Actions
DoCmd.GoToRecord ,, acNext
Loop
Mon soucis, est que sur le premier Next, il me sort une erreur 2105
(Impossible d'atteindre l'enregistrement spécifié)...
Je ne pense pas que la solution 2 marche dans mon cas, car dans mes
actions,
j'utilise les champs présentés dans SF2. (J'ai donc besoin que SF2 se
positionne sur chaque ligne)
Merci pour vos lumières ;)
Bonjour.
tu as 2 solutions simples:
1_ par docmd sur le formulaire
Me.SF2.SetFocus
DoCmd.GoToRecord , , acFirst
DoCmd.GoToRecord , , acNext
etc etc.......
cette méthode impose de mettre le focus sur le sous-formulaire et
ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset
Set Rs = Me.SF2.Form.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
' ici le traitement des données
Rs.MoveNext
Loop
Set Rs = Nothing
La solution 2 étant préférable parceque plus simple.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" <karim.hasnaoui@planetis.com> a écrit dans le message de news:
uA46Y32tEHA.3872@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup
d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste
d'éléments.
Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous
les
éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst
Do While not Forms!F1!SF2.Form.Recordset.EOF
'Action
DoCmd.GotoRecord acForm,"SF2",acNext
Loop
DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert...
Quelqu'un a-t-il une méthode?
dans la 2e solution, c'est pareil car c'est le même recordset, on voit le déplacement sur l'écran.
pour l'autre, le Docmd s'applique à l'objet ayant le focus, ce qui n'est pas le cas du SF2. il faut lui donner le focus comme je te l'avais indiqué, par Forms("F1")("SF2").SetFocus ou Forms!F1!SF2.Form.SetFocus je pense que c'est ça.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" a écrit dans le message de news:
J'ai un peu changé mon fusil d'épaule... J'ai tenté la solution 1, dans une fonction publique se trouvant dans le sous-formulaire SF2.
J'ai mis le code suivant: DoCmd.GoToRecord ,,acFirst
Do While not Me.Recordset.EOF 'Actions DoCmd.GoToRecord ,, acNext Loop
Mon soucis, est que sur le premier Next, il me sort une erreur 2105 (Impossible d'atteindre l'enregistrement spécifié)...
Je ne pense pas que la solution 2 marche dans mon cas, car dans mes actions, j'utilise les champs présentés dans SF2. (J'ai donc besoin que SF2 se positionne sur chaque ligne)
Merci pour vos lumières ;)
Bonjour.
tu as 2 solutions simples: 1_ par docmd sur le formulaire Me.SF2.SetFocus DoCmd.GoToRecord , , acFirst DoCmd.GoToRecord , , acNext etc etc....... cette méthode impose de mettre le focus sur le sous-formulaire et ensuite de naviguer par GoToRecord
2_ par un recordset
Dim Rs As DAO.Recordset Set Rs = Me.SF2.Form.Recordset If Rs.BOF Then Exit Sub Do Until Rs.EOF ' ici le traitement des données Rs.MoveNext Loop Set Rs = Nothing
La solution 2 étant préférable parceque plus simple. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Karim" a écrit dans le message de news:
Bonjour à tous,
J'ai un formulaire F1, avec un sous-formulaire SF2 (j'ai beaucoup d'imagination).
SF2 est un formulaire en mode continu, qui affiche une liste d'éléments. Je souhaite à partir d'un bouton se trouvant dans F1, passer sur tous les éléments de la liste contenu dans SF2.
Je mets ce code là:
DoCmd.GotoRecord acForm,"SF2",acFirst Do While not Forms!F1!SF2.Form.Recordset.EOF 'Action DoCmd.GotoRecord acForm,"SF2",acNext Loop DoCmd.GotoRecord acForm,"SF2",acFirst
Malheureusement, Access m'indique que SF2 n'est pas ouvert... Quelqu'un a-t-il une méthode?