Compter les enregistrements d'un formulaire et de ses sous formula
3 réponses
JPG
Bonjour,
Afin de me ballader dans tous les enregistrements de mon formulaire et de
ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce
code :
Public Function LesControles(MonForm As Object)
'Object permet de traiter les sous form comme un form alors que Form ne le
peut pas
Dim Ctl As Control
For Each Ctl In MonForm.Controls
If Ctl.ControlType = acSubform Then
'ici je relance la fonction si mon contrôle est un sous form
SousForm = LesControles(Ctl)
End If
Next Ctl
Avec MonForm (au départ) étant le nom de mon formulaire principal.
A l'intérieur du form et des sous form, je peux avoir plusieurs
enregistrements.
J'ai essayé "Domd.gotorecord,, acNext" mais je ne sais pas comment m'arréter
car CurrentRecord ne fonctionne pas sur MonForm étant donné qu'il s'agit d'un
Object.
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,
"JPG" | Afin de me ballader dans tous les enregistrements de mon formulaire et de | ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce | code : | | Public Function LesControles(MonForm As Object) | 'Object permet de traiter les sous form comme un form alors que Form ne le | peut pas | | Dim Ctl As Control | For Each Ctl In MonForm.Controls | If Ctl.ControlType = acSubform Then | 'ici je relance la fonction si mon contrôle est un sous form | SousForm = LesControles(Ctl) | End If | Next Ctl [...]
Dans l'objet, tu parle de compter les enregistrements ! et dans le code, tu boucle sur les controles...
"JPG"
| Afin de me ballader dans tous les enregistrements de mon formulaire et de
| ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce
| code :
|
| Public Function LesControles(MonForm As Object)
| 'Object permet de traiter les sous form comme un form alors que Form ne le
| peut pas
|
| Dim Ctl As Control
| For Each Ctl In MonForm.Controls
| If Ctl.ControlType = acSubform Then
| 'ici je relance la fonction si mon contrôle est un sous form
| SousForm = LesControles(Ctl)
| End If
| Next Ctl
[...]
Dans l'objet, tu parle de compter les enregistrements !
et dans le code, tu boucle sur les controles...
"JPG" | Afin de me ballader dans tous les enregistrements de mon formulaire et de | ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce | code : | | Public Function LesControles(MonForm As Object) | 'Object permet de traiter les sous form comme un form alors que Form ne le | peut pas | | Dim Ctl As Control | For Each Ctl In MonForm.Controls | If Ctl.ControlType = acSubform Then | 'ici je relance la fonction si mon contrôle est un sous form | SousForm = LesControles(Ctl) | End If | Next Ctl [...]
Dans l'objet, tu parle de compter les enregistrements ! et dans le code, tu boucle sur les controles...
En fait s'il ne s'agissait que d'un seul formulaire, j'aurais utilisé :
i=1 docmd.gotorecord, , aclast j=Me.currentrecord Do while i < j (...MonExecution...) docmd.gotorecord, , i i = i + 1 Loop
seule manière (avec mon faible niveau) de faire le tour des enregistrements.
Compter le nombre d'enregistrements total me permettrait d'arrêter ma boucle.
Mais s'il y avait une manière pour que "j" soit le nombre total d'enregistrements de mon form et/ou de mon sous form (en tant qu' Object), je l'utiliserais bien volontiers.
Merci !
Salut,
"JPG" | Afin de me ballader dans tous les enregistrements de mon formulaire et de | ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce | code : | | Public Function LesControles(MonForm As Object) | 'Object permet de traiter les sous form comme un form alors que Form ne le | peut pas | | Dim Ctl As Control | For Each Ctl In MonForm.Controls | If Ctl.ControlType = acSubform Then | 'ici je relance la fonction si mon contrôle est un sous form | SousForm = LesControles(Ctl) | End If | Next Ctl [...]
Dans l'objet, tu parle de compter les enregistrements ! et dans le code, tu boucle sur les controles...
En fait s'il ne s'agissait que d'un seul formulaire, j'aurais utilisé :
i=1
docmd.gotorecord, , aclast
j=Me.currentrecord
Do while i < j
(...MonExecution...)
docmd.gotorecord, , i
i = i + 1
Loop
seule manière (avec mon faible niveau) de faire le tour des enregistrements.
Compter le nombre d'enregistrements total me permettrait d'arrêter ma boucle.
Mais s'il y avait une manière pour que "j" soit le nombre total
d'enregistrements de mon form et/ou de mon sous form (en tant qu' Object), je
l'utiliserais bien volontiers.
Merci !
Salut,
"JPG"
| Afin de me ballader dans tous les enregistrements de mon formulaire et de
| ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce
| code :
|
| Public Function LesControles(MonForm As Object)
| 'Object permet de traiter les sous form comme un form alors que Form ne le
| peut pas
|
| Dim Ctl As Control
| For Each Ctl In MonForm.Controls
| If Ctl.ControlType = acSubform Then
| 'ici je relance la fonction si mon contrôle est un sous form
| SousForm = LesControles(Ctl)
| End If
| Next Ctl
[...]
Dans l'objet, tu parle de compter les enregistrements !
et dans le code, tu boucle sur les controles...
En fait s'il ne s'agissait que d'un seul formulaire, j'aurais utilisé :
i=1 docmd.gotorecord, , aclast j=Me.currentrecord Do while i < j (...MonExecution...) docmd.gotorecord, , i i = i + 1 Loop
seule manière (avec mon faible niveau) de faire le tour des enregistrements.
Compter le nombre d'enregistrements total me permettrait d'arrêter ma boucle.
Mais s'il y avait une manière pour que "j" soit le nombre total d'enregistrements de mon form et/ou de mon sous form (en tant qu' Object), je l'utiliserais bien volontiers.
Merci !
Salut,
"JPG" | Afin de me ballader dans tous les enregistrements de mon formulaire et de | ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce | code : | | Public Function LesControles(MonForm As Object) | 'Object permet de traiter les sous form comme un form alors que Form ne le | peut pas | | Dim Ctl As Control | For Each Ctl In MonForm.Controls | If Ctl.ControlType = acSubform Then | 'ici je relance la fonction si mon contrôle est un sous form | SousForm = LesControles(Ctl) | End If | Next Ctl [...]
Dans l'objet, tu parle de compter les enregistrements ! et dans le code, tu boucle sur les controles...
If Ctl.ControlType = acSubform Then j = Ctl.Form.RecordsetClone.RecordCount ... End if
Bonsoir,
En fait s'il ne s'agissait que d'un seul formulaire, j'aurais utilisé :
i=1 docmd.gotorecord, , aclast j=Me.currentrecord Do while i < j (...MonExecution...) docmd.gotorecord, , i i = i + 1 Loop
seule manière (avec mon faible niveau) de faire le tour des enregistrements.
Compter le nombre d'enregistrements total me permettrait d'arrêter ma boucle.
Mais s'il y avait une manière pour que "j" soit le nombre total d'enregistrements de mon form et/ou de mon sous form (en tant qu' Object), je l'utiliserais bien volontiers.
Merci !
Salut,
"JPG" | Afin de me ballader dans tous les enregistrements de mon formulaire et de | ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce | code : | | Public Function LesControles(MonForm As Object) | 'Object permet de traiter les sous form comme un form alors que Form ne le | peut pas | | Dim Ctl As Control | For Each Ctl In MonForm.Controls | If Ctl.ControlType = acSubform Then | 'ici je relance la fonction si mon contrôle est un sous form | SousForm = LesControles(Ctl) | End If | Next Ctl [...]
Dans l'objet, tu parle de compter les enregistrements ! et dans le code, tu boucle sur les controles...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
If Ctl.ControlType = acSubform Then
j = Ctl.Form.RecordsetClone.RecordCount
...
End if
Bonsoir,
En fait s'il ne s'agissait que d'un seul formulaire, j'aurais utilisé :
i=1
docmd.gotorecord, , aclast
j=Me.currentrecord
Do while i < j
(...MonExecution...)
docmd.gotorecord, , i
i = i + 1
Loop
seule manière (avec mon faible niveau) de faire le tour des enregistrements.
Compter le nombre d'enregistrements total me permettrait d'arrêter ma boucle.
Mais s'il y avait une manière pour que "j" soit le nombre total
d'enregistrements de mon form et/ou de mon sous form (en tant qu' Object), je
l'utiliserais bien volontiers.
Merci !
Salut,
"JPG"
| Afin de me ballader dans tous les enregistrements de mon formulaire et de
| ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce
| code :
|
| Public Function LesControles(MonForm As Object)
| 'Object permet de traiter les sous form comme un form alors que Form ne le
| peut pas
|
| Dim Ctl As Control
| For Each Ctl In MonForm.Controls
| If Ctl.ControlType = acSubform Then
| 'ici je relance la fonction si mon contrôle est un sous form
| SousForm = LesControles(Ctl)
| End If
| Next Ctl
[...]
Dans l'objet, tu parle de compter les enregistrements !
et dans le code, tu boucle sur les controles...
If Ctl.ControlType = acSubform Then j = Ctl.Form.RecordsetClone.RecordCount ... End if
Bonsoir,
En fait s'il ne s'agissait que d'un seul formulaire, j'aurais utilisé :
i=1 docmd.gotorecord, , aclast j=Me.currentrecord Do while i < j (...MonExecution...) docmd.gotorecord, , i i = i + 1 Loop
seule manière (avec mon faible niveau) de faire le tour des enregistrements.
Compter le nombre d'enregistrements total me permettrait d'arrêter ma boucle.
Mais s'il y avait une manière pour que "j" soit le nombre total d'enregistrements de mon form et/ou de mon sous form (en tant qu' Object), je l'utiliserais bien volontiers.
Merci !
Salut,
"JPG" | Afin de me ballader dans tous les enregistrements de mon formulaire et de | ses sous formulaires, j'aimerais intégrer quelque chose à l'intérieur de ce | code : | | Public Function LesControles(MonForm As Object) | 'Object permet de traiter les sous form comme un form alors que Form ne le | peut pas | | Dim Ctl As Control | For Each Ctl In MonForm.Controls | If Ctl.ControlType = acSubform Then | 'ici je relance la fonction si mon contrôle est un sous form | SousForm = LesControles(Ctl) | End If | Next Ctl [...]
Dans l'objet, tu parle de compter les enregistrements ! et dans le code, tu boucle sur les controles...