Help pr un code vba rattaché a un bouton dans un formulaire
Fermé
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
-
Modifié le 5 juil. 2017 à 09:32
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 - 6 juil. 2017 à 17:08
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 - 6 juil. 2017 à 17:08
A voir également:
- Help pr un code vba rattaché a un bouton dans un formulaire
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code ascii de a - Guide
- Comment débloquer un code puk - Guide
- Comment créer un qr code - Guide
- Code activation windows 10 - Guide
4 réponses
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
Ambassadeur
1 556
5 juil. 2017 à 09:55
5 juil. 2017 à 09:55
bonjour,
ta requete sera sans doute
ton code serait quelque-chose comme:
ta requete sera sans doute
SELECT produit, coef from tableproduit WHERE produit = "A" or produit = "B"
ton code serait quelque-chose comme:
sSQL = "SELECT produit, coef from tableproduit WHERE produit = 'A' or produit = 'B'" Dim rs As DAO Recordset Set rs = CurrentDB.OpenRecordset(sSQL) Do While Not rs.EOF select case rs!produit case "A" Me!coeff_A=rs!coef case "B" Me!coeff_B=rs!coef end select rs.MoveNext Loop
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
5 juil. 2017 à 10:48
5 juil. 2017 à 10:48
voila ce que jai mis mais malgré tout ca ne marche pas et on me mets en rouge de sSQL et dim
Private Sub lancer_calcul_Click()
DoCmd.OpenQuery "HR/L"
sSQL = "SELECT CODE_PART, COEFFICIENT_PART from HR/L WHERE CODE_PART = "A" or CODE_PART = "B""
Dim rs As DAO Recordset
Set rs = CurrentDb.OpenRecordset(sSQL)
Do While Not rs.EOF
Select Case rs!produit
Case "A"
Me!COEFFICIENT_PART_A = rs!COEFFICIENT_PART
Case "B"
Me!COEFFICIENT_PART_B = rs!COEFFICIENT_PART
End Select
rs.MoveNext
Loop
Private Sub lancer_calcul_Click()
DoCmd.OpenQuery "HR/L"
sSQL = "SELECT CODE_PART, COEFFICIENT_PART from HR/L WHERE CODE_PART = "A" or CODE_PART = "B""
Dim rs As DAO Recordset
Set rs = CurrentDb.OpenRecordset(sSQL)
Do While Not rs.EOF
Select Case rs!produit
Case "A"
Me!COEFFICIENT_PART_A = rs!COEFFICIENT_PART
Case "B"
Me!COEFFICIENT_PART_B = rs!COEFFICIENT_PART
End Select
rs.MoveNext
Loop
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
5 juil. 2017 à 14:19
5 juil. 2017 à 14:19
et ainsi?
Option Explicit Private Sub lancer_calcul_Click() 'DoCmd.OpenQuery "HR/L" sSQL = "SELECT CODE_PART, COEFFICIENT_PART from HR/L WHERE CODE_PART = 'A' or CODE_PART = 'B'" Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset(sSQL) Do While Not rs.EOF Select Case rs!produit Case "A" Me!COEFFICIENT_PART_A = rs!COEFFICIENT_PART Case "B" Me!COEFFICIENT_PART_B = rs!COEFFICIENT_PART End Select rs.MoveNext Loop
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
5 juil. 2017 à 14:23
5 juil. 2017 à 14:23
EN FAITE JAI RAJOUTé [HR/L] il ny a plus de message d'erreur mais ca fait que ouvrir ma requete sans aucun calcul
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
5 juil. 2017 à 14:59
5 juil. 2017 à 14:59
et ainsi?
Option Explicit Private Sub lancer_calcul_Click() Dim sSQL as string Dim rs As DAO.Recordset sSQL = "SELECT CODE_PART, COEFFICIENT_PART from HR/L WHERE CODE_PART = 'A' or CODE_PART = 'B'" DoCmd.OpenQuery sSQL Set rs = CurrentDb.OpenRecordset(sSQL) Do While Not rs.EOF Select Case rs!CODE_PART Case "A" Me!A = rs!COEFFICIENT_PART * Me!montant Case "B" Me!B = rs!COEFFICIENT_PART * Me!montant End Select rs.MoveNext Loop
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
>
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
Modifié le 6 juil. 2017 à 10:26
Modifié le 6 juil. 2017 à 10:26
jai modifier la methode la methode jai crée 2 requete ( requete 1 et requete 2) avec des champs calculé
la je dois juste trouver le bon code vba qui me permetra d'appelé le resultat de la requete 1 dans la zone 1 du formulaire et le resultat de la requete 2 dans une zone du formulaire .en gros quand j'appuie sur le bouton il me recupere juste les calculs deja fait dans mes requetes et les mets dans le formulaire
merci d'avance pour votre aide
la je dois juste trouver le bon code vba qui me permetra d'appelé le resultat de la requete 1 dans la zone 1 du formulaire et le resultat de la requete 2 dans une zone du formulaire .en gros quand j'appuie sur le bouton il me recupere juste les calculs deja fait dans mes requetes et les mets dans le formulaire
merci d'avance pour votre aide
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
6 juil. 2017 à 12:42
6 juil. 2017 à 12:42
c'est ce que fait ma suggestion en #6 (si tu supprimes la ligne docmd, qui te permet de facilement vérifier si la requête est correcte).
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
>
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
6 juil. 2017 à 13:10
6 juil. 2017 à 13:10
j'ai fais ce que vous m'avez dis il n'y a aucun changement ca ne fait que ouvrir ma requete .
la jai fais le calcul dans un champ calculé je dois juste appelé le resultat dans le formulaire
la jai fais le calcul dans un champ calculé je dois juste appelé le resultat dans le formulaire
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
Modifié le 6 juil. 2017 à 14:29
Modifié le 6 juil. 2017 à 14:29
ce genre d'instruction enregistre une valeur récupérée d'une requête dans la zone A du formulaire:
Me!A.Value = rs!COEFFICIENT_PART * Me!montant
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
Ambassadeur
1 556
6 juil. 2017 à 14:53
6 juil. 2017 à 14:53
suggestion:
si cela ne fait rien, retire le commentaire en début de ligne "docmd", et décris ce qui est affiché par la requête.
Option Explicit Private Sub lancer_calcul_Click() Dim sSQL as string Dim rs As DAO.Recordset sSQL = "SELECT CODE_PART, COEFFICIENT_PART from HR/L WHERE CODE_PART = 'A' or CODE_PART = 'B'" 'DoCmd.OpenQuery sSQL Set rs = CurrentDb.OpenRecordset(sSQL) Do While Not rs.EOF Select Case rs!CODE_PART Case "A" Me!A.Value = rs!COEFFICIENT_PART * Me!montant Case "B" Me!B.Value = rs!COEFFICIENT_PART * Me!montant End Select rs.MoveNext Loop
si cela ne fait rien, retire le commentaire en début de ligne "docmd", et décris ce qui est affiché par la requête.
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
6 juil. 2017 à 14:59
6 juil. 2017 à 14:59
ce code m'ouvre juste la requete sans aucun resultat mais pour le calcul il est deja fais dans mon champs je dois juste le recuperé et l'affiché dans mon formulaire et ce code ouvre ma requete et sans calcul sans rien meme les calcule que jai fais dans mon champs calculé
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
6 juil. 2017 à 15:28
6 juil. 2017 à 15:28
il serait peut-être utile que tu partages la technique que tu utilises pour ton calcul (pour obtenir "ton champs"), ne penses-tu pas?
si le code que je suggère n'affiche aucun résultat (quand il exécute docmd), alors il faut adapter la requête dans ce code.
si le code que je suggère n'affiche aucun résultat (quand il exécute docmd), alors il faut adapter la requête dans ce code.
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
6 juil. 2017 à 15:35
6 juil. 2017 à 15:35
je crée une requete avec le code_ptf , le code_part, la date et jai rajouté un champs pour le calcul où jai mis le resultat=[COEFFICIENT_PART]*[Formulaires]![Formulaire1]![TEXTE2]/100
le[texte2] cest la case où je remplis mon montant
APRES jecris le montant que je veux dans mon formulaire puis je raffraichei ma requete et elle me donne comme resultat le montant pour chaque produit .
mais ca ne s'affiche pas dans mon formulaire que dans la requete .sauf que je voudrai que ca s'affiche dans mon formulaire quand jappuie sur le bouton
le[texte2] cest la case où je remplis mon montant
APRES jecris le montant que je veux dans mon formulaire puis je raffraichei ma requete et elle me donne comme resultat le montant pour chaque produit .
mais ca ne s'affiche pas dans mon formulaire que dans la requete .sauf que je voudrai que ca s'affiche dans mon formulaire quand jappuie sur le bouton
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
fred.bis
Messages postés
11
Date d'inscription
mercredi 5 juillet 2017
Statut
Membre
Dernière intervention
6 juillet 2017
6 juil. 2017 à 17:08
6 juil. 2017 à 17:08
on progresse, je sais maintenant que le montant est dans [TEXTE2] et doit être divisé par 100. j'ai adapté le code ci-dessous en tenant compte de cela.
peux-tu maintenant partager le code SQL de ta requete?
Option Explicit Private Sub lancer_calcul_Click() Dim sSQL as string Dim rs As DAO.Recordset sSQL = "SELECT CODE_PART, COEFFICIENT_PART from HR/L WHERE CODE_PART = 'A' or CODE_PART = 'B'" 'DoCmd.OpenQuery sSQL Set rs = CurrentDb.OpenRecordset(sSQL) Do While Not rs.EOF Select Case rs!CODE_PART Case "A" Me!A.Value = rs!COEFFICIENT_PART * Me![TEXTE2] / 100 Case "B" Me!B.Value = rs!COEFFICIENT_PART * Me![TEXTE2] / 100 End Select rs.MoveNext Loop
peux-tu maintenant partager le code SQL de ta requete?
5 juil. 2017 à 10:05