OVH Cloud OVH Cloud

Do until loop

1 réponse
Avatar
Michel J
Bonjour
j'ai un formulaire dans lequel je calcul un prix de revient en appuyant
sur un bouton de commande qui contient une procédure évenementielle pour
faire ce calcul.
En cliquanr sur le bouton de commande du calcul je calcule le prix sur
l'enregistrement affiché à l'écran.
Mais je veux créer un bouton qui me calcule ce prix sur mes 3600
enregistrements.
Je pense à une solution utilisant Do until Loop ou bien Goto mais je
n'arrive à rien.
ma procedure de mon bouton commence ainsi:

Sub Commande530_Click()
'on s'occupe d'abord des bases
Me![Prix16].SetFocus
'on cherche le prix dans la table Achat MatièresPremières
Me![Prix16] = DLookup("[CalculDuCout]", "[Lirebase]", "[Nom base]=
[Texte16]")
'si ce prix n'existe pas
If IsNull(Me![Prix16].Value) Then
etc, etc ,

et se termine ainsi
DoCmd.RunMacro "CopieCalculPrixProduitFiniDansTableProduitsFinis"
End If
'on passe à l'enregistrement suivant
DoCmd.GoToRecord , , acNext
End Sub
En fait comment faire pour remonter à la première ligne utile jusqu'à la
fin des enregistrements ?
Merci d'avance
MJ

1 réponse

Avatar
Pierre CFI [mvp]
bonjour
si tu faisais une req toute bete avec tes tables liées

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"Michel J" a écrit dans le message de news:
Bonjour
j'ai un formulaire dans lequel je calcul un prix de revient en appuyant sur un bouton de commande qui contient une procédure
évenementielle pour faire ce calcul.
En cliquanr sur le bouton de commande du calcul je calcule le prix sur l'enregistrement affiché à l'écran.
Mais je veux créer un bouton qui me calcule ce prix sur mes 3600 enregistrements.
Je pense à une solution utilisant Do until Loop ou bien Goto mais je n'arrive à rien.
ma procedure de mon bouton commence ainsi:

Sub Commande530_Click()
'on s'occupe d'abord des bases
Me![Prix16].SetFocus
'on cherche le prix dans la table Achat MatièresPremières
Me![Prix16] = DLookup("[CalculDuCout]", "[Lirebase]", "[Nom base]= [Texte16]")
'si ce prix n'existe pas
If IsNull(Me![Prix16].Value) Then
etc, etc ,

et se termine ainsi
DoCmd.RunMacro "CopieCalculPrixProduitFiniDansTableProduitsFinis"
End If
'on passe à l'enregistrement suivant
DoCmd.GoToRecord , , acNext
End Sub
En fait comment faire pour remonter à la première ligne utile jusqu'à la fin des enregistrements ?
Merci d'avance
MJ