Dans un formulaire (Commande) j'ai un sous-formulaire (Produits commandés
avec quantité, prix unitaire et code TVA).
J'arrive a faire la somme total (sans condition) et a la transmettre au
formulaire.
Mais je n'arrive pas a faire la somme (du prix total de chaque produit) pour
les lignes ayant le meme code TVA (il y en a 3 differents)
J'ai essayé un SomDom mais rien a faire ...
J'ai essayé une requette regroupement mais le resultat ne se rafraichi pas
si je rajoute ou change une ligne du sous formulaire.
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
Bonsoir,
J'ai essayé une requette regroupement mais le resultat ne se rafraichi pas Et avec le nom de ton controle.requery ?
J'ai essayé un SomDom mais rien a faire ... Oui entre les différentes versions en plus la syntaxe des SomDom ou autre fonction de domaine sont me semble-t-il différentes.
Il me semble que les critères doivent toujours être entre '' et quand au nom de la table ou du champ, il me semble me rappeler avoir même mis "[Table]". Ca peut donc donner SomDom("[Champ1]","[Table]",'[Champ2]=Forms![NomForm]![Controle]') En quel version est tu ? Merci d'avoir lu jusque là.
Bonsoir,
J'ai essayé une requette regroupement mais le resultat ne se rafraichi pas
Et avec le nom de ton controle.requery ?
J'ai essayé un SomDom mais rien a faire ...
Oui entre les différentes versions en plus la syntaxe des SomDom ou autre fonction de domaine sont me semble-t-il différentes.
Il me semble que les critères doivent toujours être entre '' et quand au nom de la table ou du champ, il me semble me rappeler avoir
même mis "[Table]".
Ca peut donc donner SomDom("[Champ1]","[Table]",'[Champ2]=Forms![NomForm]![Controle]')
En quel version est tu ?
Merci d'avoir lu jusque là.
J'ai essayé une requette regroupement mais le resultat ne se rafraichi pas Et avec le nom de ton controle.requery ?
J'ai essayé un SomDom mais rien a faire ... Oui entre les différentes versions en plus la syntaxe des SomDom ou autre fonction de domaine sont me semble-t-il différentes.
Il me semble que les critères doivent toujours être entre '' et quand au nom de la table ou du champ, il me semble me rappeler avoir même mis "[Table]". Ca peut donc donner SomDom("[Champ1]","[Table]",'[Champ2]=Forms![NomForm]![Controle]') En quel version est tu ? Merci d'avoir lu jusque là.
Eric
"dan2" écrivait news:409fce9a$0$19427$:
Bonjour a tous,
Dans un formulaire (Commande) j'ai un sous-formulaire (Produits commandés avec quantité, prix unitaire et code TVA).
J'arrive a faire la somme total (sans condition) et a la transmettre au formulaire.
Mais je n'arrive pas a faire la somme (du prix total de chaque produit) pour les lignes ayant le meme code TVA (il y en a 3 differents)
J'ai essayé un SomDom mais rien a faire ... J'ai essayé une requette regroupement mais le resultat ne se rafraichi pas si je rajoute ou change une ligne du sous formulaire.
Auriez vous une soluce ......
Bonjour Dan,
J'ai résolu le problème avec du code dans le sous-formulaire qui calcule le montant(assiette) pour chaque taux de tva et la taxe associée. (Je n'avais que 2 taux mais le problème n'est pas sur le nombre de taux, l'exemple est pour une facture donc à adapter à ton cas).
J'ai créé des champs indépendants au pied du sous-formulaire qui recoivent respectivement le montant HT et la taxe pour chaque taux (HT1 et TVA1, HT2 et TVA2). Cette procédure tu la mets sur l'évènement AfterUpdate du sous formulaire. Je te la communique:
Private Sub Form_AfterUpdate() Dim rs As DAO.Recordset, mht1 As Currency, mht2 As Currency, mtva1 As Currency, mtva2 As Currency Set rs = Me.RecordsetClone rs.MoveFirst mht1 = 0: mht2 = 0: mtva1 = 0: mtva2 = 0 While Not rs.EOF Select Case rs!CodeTVA Case 1 ' code tva pour 19.6% mht1 = Nz(mht1) + rs!HT ' montantHT par ligne mtva1 = Nz(mtva1) + rs!Taxe ' montant de la taxe Case 2 'code tva pour 5.5% mht2 = Nz(mht2) + rs!HT ' montantHT par ligne mtva2 = Nz(mtva2) + rs!Taxe ' montant de la taxe End Select rs.MoveNext Wend ' HT1, HT2, TVA1, TVA2 controles du pied du sous formulaire HT1 = mht1: TVA1 = mtva1: HT2 = mht2: TVA2 = mtva2 rs.Close Set rs = Nothing End Sub
Dans ton formulaire principal tu mets en bas, sous le sous-formulaire, 4 contrôles indépendants : BaseTVA1 & Taux1 qui récupèreront les valeurs des controles au pied du sous formulaire pour le code 1. BaseTVA2 & Taux2 idem pour le code 2.
la source de ces contrôles sera du genre : BaseTVA1 : =[NomDeTonSousFormulaire].Formulaire!HT1 (pour toi Produit je crois) Taux1 : =[NomDeTonSousFormulaire].Formulaire!TVA1 pour les 2 autres, même modèles
Voila, espérant que ca te dépannera. A+ Eric
PS : forcer le passage à la ligne suivante dans le sous-formulaire par un Retour chariot pour que les valeurs de la dernière ligne saisie soient prises en compte.
Dans un formulaire (Commande) j'ai un sous-formulaire (Produits
commandés avec quantité, prix unitaire et code TVA).
J'arrive a faire la somme total (sans condition) et a la transmettre
au formulaire.
Mais je n'arrive pas a faire la somme (du prix total de chaque
produit) pour les lignes ayant le meme code TVA (il y en a 3
differents)
J'ai essayé un SomDom mais rien a faire ...
J'ai essayé une requette regroupement mais le resultat ne se rafraichi
pas si je rajoute ou change une ligne du sous formulaire.
Auriez vous une soluce ......
Bonjour Dan,
J'ai résolu le problème avec du code dans le sous-formulaire qui calcule
le montant(assiette) pour chaque taux de tva et la taxe associée. (Je
n'avais que 2 taux mais le problème n'est pas sur le nombre de taux,
l'exemple est pour une facture donc à adapter à ton cas).
J'ai créé des champs indépendants au pied du sous-formulaire qui
recoivent respectivement le montant HT et la taxe pour chaque taux (HT1
et TVA1, HT2 et TVA2). Cette procédure tu la mets sur l'évènement
AfterUpdate du sous formulaire. Je te la communique:
Private Sub Form_AfterUpdate()
Dim rs As DAO.Recordset, mht1 As Currency, mht2 As Currency, mtva1 As
Currency, mtva2 As Currency
Set rs = Me.RecordsetClone
rs.MoveFirst
mht1 = 0: mht2 = 0: mtva1 = 0: mtva2 = 0
While Not rs.EOF
Select Case rs!CodeTVA
Case 1 ' code tva pour 19.6%
mht1 = Nz(mht1) + rs!HT ' montantHT par ligne
mtva1 = Nz(mtva1) + rs!Taxe ' montant de la taxe
Case 2 'code tva pour 5.5%
mht2 = Nz(mht2) + rs!HT ' montantHT par ligne
mtva2 = Nz(mtva2) + rs!Taxe ' montant de la taxe
End Select
rs.MoveNext
Wend
' HT1, HT2, TVA1, TVA2 controles du pied du sous formulaire
HT1 = mht1: TVA1 = mtva1: HT2 = mht2: TVA2 = mtva2
rs.Close
Set rs = Nothing
End Sub
Dans ton formulaire principal tu mets en bas, sous le sous-formulaire, 4
contrôles indépendants :
BaseTVA1 & Taux1 qui récupèreront les valeurs des controles au pied du
sous formulaire pour le code 1.
BaseTVA2 & Taux2 idem pour le code 2.
la source de ces contrôles sera du genre :
BaseTVA1 : =[NomDeTonSousFormulaire].Formulaire!HT1 (pour toi Produit je
crois)
Taux1 : =[NomDeTonSousFormulaire].Formulaire!TVA1
pour les 2 autres, même modèles
Voila, espérant que ca te dépannera.
A+
Eric
PS : forcer le passage à la ligne suivante dans le sous-formulaire par un
Retour chariot pour que les valeurs de la dernière ligne saisie soient
prises en compte.
Dans un formulaire (Commande) j'ai un sous-formulaire (Produits commandés avec quantité, prix unitaire et code TVA).
J'arrive a faire la somme total (sans condition) et a la transmettre au formulaire.
Mais je n'arrive pas a faire la somme (du prix total de chaque produit) pour les lignes ayant le meme code TVA (il y en a 3 differents)
J'ai essayé un SomDom mais rien a faire ... J'ai essayé une requette regroupement mais le resultat ne se rafraichi pas si je rajoute ou change une ligne du sous formulaire.
Auriez vous une soluce ......
Bonjour Dan,
J'ai résolu le problème avec du code dans le sous-formulaire qui calcule le montant(assiette) pour chaque taux de tva et la taxe associée. (Je n'avais que 2 taux mais le problème n'est pas sur le nombre de taux, l'exemple est pour une facture donc à adapter à ton cas).
J'ai créé des champs indépendants au pied du sous-formulaire qui recoivent respectivement le montant HT et la taxe pour chaque taux (HT1 et TVA1, HT2 et TVA2). Cette procédure tu la mets sur l'évènement AfterUpdate du sous formulaire. Je te la communique:
Private Sub Form_AfterUpdate() Dim rs As DAO.Recordset, mht1 As Currency, mht2 As Currency, mtva1 As Currency, mtva2 As Currency Set rs = Me.RecordsetClone rs.MoveFirst mht1 = 0: mht2 = 0: mtva1 = 0: mtva2 = 0 While Not rs.EOF Select Case rs!CodeTVA Case 1 ' code tva pour 19.6% mht1 = Nz(mht1) + rs!HT ' montantHT par ligne mtva1 = Nz(mtva1) + rs!Taxe ' montant de la taxe Case 2 'code tva pour 5.5% mht2 = Nz(mht2) + rs!HT ' montantHT par ligne mtva2 = Nz(mtva2) + rs!Taxe ' montant de la taxe End Select rs.MoveNext Wend ' HT1, HT2, TVA1, TVA2 controles du pied du sous formulaire HT1 = mht1: TVA1 = mtva1: HT2 = mht2: TVA2 = mtva2 rs.Close Set rs = Nothing End Sub
Dans ton formulaire principal tu mets en bas, sous le sous-formulaire, 4 contrôles indépendants : BaseTVA1 & Taux1 qui récupèreront les valeurs des controles au pied du sous formulaire pour le code 1. BaseTVA2 & Taux2 idem pour le code 2.
la source de ces contrôles sera du genre : BaseTVA1 : =[NomDeTonSousFormulaire].Formulaire!HT1 (pour toi Produit je crois) Taux1 : =[NomDeTonSousFormulaire].Formulaire!TVA1 pour les 2 autres, même modèles
Voila, espérant que ca te dépannera. A+ Eric
PS : forcer le passage à la ligne suivante dans le sous-formulaire par un Retour chariot pour que les valeurs de la dernière ligne saisie soient prises en compte.
dan2
je suis sur Access 2000
"Eric" a écrit dans le message de news:
"dan2" écrivait news:409fce9a$0$19427$:
Bonjour a tous,
Dans un formulaire (Commande) j'ai un sous-formulaire (Produits commandés avec quantité, prix unitaire et code TVA).
J'arrive a faire la somme total (sans condition) et a la transmettre au formulaire.
Mais je n'arrive pas a faire la somme (du prix total de chaque produit) pour les lignes ayant le meme code TVA (il y en a 3 differents)
J'ai essayé un SomDom mais rien a faire ... J'ai essayé une requette regroupement mais le resultat ne se rafraichi pas si je rajoute ou change une ligne du sous formulaire.
Auriez vous une soluce ......
Bonjour Dan,
J'ai résolu le problème avec du code dans le sous-formulaire qui calcule le montant(assiette) pour chaque taux de tva et la taxe associée. (Je n'avais que 2 taux mais le problème n'est pas sur le nombre de taux, l'exemple est pour une facture donc à adapter à ton cas).
J'ai créé des champs indépendants au pied du sous-formulaire qui recoivent respectivement le montant HT et la taxe pour chaque taux (HT1 et TVA1, HT2 et TVA2). Cette procédure tu la mets sur l'évènement AfterUpdate du sous formulaire. Je te la communique:
Private Sub Form_AfterUpdate() Dim rs As DAO.Recordset, mht1 As Currency, mht2 As Currency, mtva1 As Currency, mtva2 As Currency Set rs = Me.RecordsetClone rs.MoveFirst mht1 = 0: mht2 = 0: mtva1 = 0: mtva2 = 0 While Not rs.EOF Select Case rs!CodeTVA Case 1 ' code tva pour 19.6% mht1 = Nz(mht1) + rs!HT ' montantHT par ligne mtva1 = Nz(mtva1) + rs!Taxe ' montant de la taxe Case 2 'code tva pour 5.5% mht2 = Nz(mht2) + rs!HT ' montantHT par ligne mtva2 = Nz(mtva2) + rs!Taxe ' montant de la taxe End Select rs.MoveNext Wend ' HT1, HT2, TVA1, TVA2 controles du pied du sous formulaire HT1 = mht1: TVA1 = mtva1: HT2 = mht2: TVA2 = mtva2 rs.Close Set rs = Nothing End Sub
Dans ton formulaire principal tu mets en bas, sous le sous-formulaire, 4 contrôles indépendants : BaseTVA1 & Taux1 qui récupèreront les valeurs des controles au pied du sous formulaire pour le code 1. BaseTVA2 & Taux2 idem pour le code 2.
la source de ces contrôles sera du genre : BaseTVA1 : =[NomDeTonSousFormulaire].Formulaire!HT1 (pour toi Produit je crois) Taux1 : =[NomDeTonSousFormulaire].Formulaire!TVA1 pour les 2 autres, même modèles
Voila, espérant que ca te dépannera. A+ Eric
PS : forcer le passage à la ligne suivante dans le sous-formulaire par un Retour chariot pour que les valeurs de la dernière ligne saisie soient prises en compte.
je suis sur Access 2000
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF94E5E1B3DFD9FfframZZhotmailcom@207.46.248.16...
Dans un formulaire (Commande) j'ai un sous-formulaire (Produits
commandés avec quantité, prix unitaire et code TVA).
J'arrive a faire la somme total (sans condition) et a la transmettre
au formulaire.
Mais je n'arrive pas a faire la somme (du prix total de chaque
produit) pour les lignes ayant le meme code TVA (il y en a 3
differents)
J'ai essayé un SomDom mais rien a faire ...
J'ai essayé une requette regroupement mais le resultat ne se rafraichi
pas si je rajoute ou change une ligne du sous formulaire.
Auriez vous une soluce ......
Bonjour Dan,
J'ai résolu le problème avec du code dans le sous-formulaire qui calcule
le montant(assiette) pour chaque taux de tva et la taxe associée. (Je
n'avais que 2 taux mais le problème n'est pas sur le nombre de taux,
l'exemple est pour une facture donc à adapter à ton cas).
J'ai créé des champs indépendants au pied du sous-formulaire qui
recoivent respectivement le montant HT et la taxe pour chaque taux (HT1
et TVA1, HT2 et TVA2). Cette procédure tu la mets sur l'évènement
AfterUpdate du sous formulaire. Je te la communique:
Private Sub Form_AfterUpdate()
Dim rs As DAO.Recordset, mht1 As Currency, mht2 As Currency, mtva1 As
Currency, mtva2 As Currency
Set rs = Me.RecordsetClone
rs.MoveFirst
mht1 = 0: mht2 = 0: mtva1 = 0: mtva2 = 0
While Not rs.EOF
Select Case rs!CodeTVA
Case 1 ' code tva pour 19.6%
mht1 = Nz(mht1) + rs!HT ' montantHT par ligne
mtva1 = Nz(mtva1) + rs!Taxe ' montant de la taxe
Case 2 'code tva pour 5.5%
mht2 = Nz(mht2) + rs!HT ' montantHT par ligne
mtva2 = Nz(mtva2) + rs!Taxe ' montant de la taxe
End Select
rs.MoveNext
Wend
' HT1, HT2, TVA1, TVA2 controles du pied du sous formulaire
HT1 = mht1: TVA1 = mtva1: HT2 = mht2: TVA2 = mtva2
rs.Close
Set rs = Nothing
End Sub
Dans ton formulaire principal tu mets en bas, sous le sous-formulaire, 4
contrôles indépendants :
BaseTVA1 & Taux1 qui récupèreront les valeurs des controles au pied du
sous formulaire pour le code 1.
BaseTVA2 & Taux2 idem pour le code 2.
la source de ces contrôles sera du genre :
BaseTVA1 : =[NomDeTonSousFormulaire].Formulaire!HT1 (pour toi Produit je
crois)
Taux1 : =[NomDeTonSousFormulaire].Formulaire!TVA1
pour les 2 autres, même modèles
Voila, espérant que ca te dépannera.
A+
Eric
PS : forcer le passage à la ligne suivante dans le sous-formulaire par un
Retour chariot pour que les valeurs de la dernière ligne saisie soient
prises en compte.
Dans un formulaire (Commande) j'ai un sous-formulaire (Produits commandés avec quantité, prix unitaire et code TVA).
J'arrive a faire la somme total (sans condition) et a la transmettre au formulaire.
Mais je n'arrive pas a faire la somme (du prix total de chaque produit) pour les lignes ayant le meme code TVA (il y en a 3 differents)
J'ai essayé un SomDom mais rien a faire ... J'ai essayé une requette regroupement mais le resultat ne se rafraichi pas si je rajoute ou change une ligne du sous formulaire.
Auriez vous une soluce ......
Bonjour Dan,
J'ai résolu le problème avec du code dans le sous-formulaire qui calcule le montant(assiette) pour chaque taux de tva et la taxe associée. (Je n'avais que 2 taux mais le problème n'est pas sur le nombre de taux, l'exemple est pour une facture donc à adapter à ton cas).
J'ai créé des champs indépendants au pied du sous-formulaire qui recoivent respectivement le montant HT et la taxe pour chaque taux (HT1 et TVA1, HT2 et TVA2). Cette procédure tu la mets sur l'évènement AfterUpdate du sous formulaire. Je te la communique:
Private Sub Form_AfterUpdate() Dim rs As DAO.Recordset, mht1 As Currency, mht2 As Currency, mtva1 As Currency, mtva2 As Currency Set rs = Me.RecordsetClone rs.MoveFirst mht1 = 0: mht2 = 0: mtva1 = 0: mtva2 = 0 While Not rs.EOF Select Case rs!CodeTVA Case 1 ' code tva pour 19.6% mht1 = Nz(mht1) + rs!HT ' montantHT par ligne mtva1 = Nz(mtva1) + rs!Taxe ' montant de la taxe Case 2 'code tva pour 5.5% mht2 = Nz(mht2) + rs!HT ' montantHT par ligne mtva2 = Nz(mtva2) + rs!Taxe ' montant de la taxe End Select rs.MoveNext Wend ' HT1, HT2, TVA1, TVA2 controles du pied du sous formulaire HT1 = mht1: TVA1 = mtva1: HT2 = mht2: TVA2 = mtva2 rs.Close Set rs = Nothing End Sub
Dans ton formulaire principal tu mets en bas, sous le sous-formulaire, 4 contrôles indépendants : BaseTVA1 & Taux1 qui récupèreront les valeurs des controles au pied du sous formulaire pour le code 1. BaseTVA2 & Taux2 idem pour le code 2.
la source de ces contrôles sera du genre : BaseTVA1 : =[NomDeTonSousFormulaire].Formulaire!HT1 (pour toi Produit je crois) Taux1 : =[NomDeTonSousFormulaire].Formulaire!TVA1 pour les 2 autres, même modèles
Voila, espérant que ca te dépannera. A+ Eric
PS : forcer le passage à la ligne suivante dans le sous-formulaire par un Retour chariot pour que les valeurs de la dernière ligne saisie soient prises en compte.
Eric
"dan2" écrivait news:409fee8b$0$21500$:
je suis sur Access 2000
re,
Le code que je t'ai fait passer tourne sur n'importe quelle version d'Access.
Le code que je t'ai fait passer tourne sur n'importe quelle version d'Access.
A+ Eric
Bonsoir, Désolé je ne crois avoir jamais fait ce type de champs sous Access 2000. Par contre de mémoire ce qui marchait sous 97 fonctionne sous Xp et je suis retombé sur une syntaxe de 97 aujourd'hui même je n'ai que peu de correction par rapport à ce que je t'avais donné hier de tête : SomDom("[Champ1]","[Table]",'[Champ2]=[Formulaires]![NomForm]![Controle]')
Avais tu essayé avec ce que je t'ai donné hier ? Espérant t'avoir été utile.
Merci d'avoir lu jusque là.
Bonsoir,
Désolé je ne crois avoir jamais fait ce type de champs sous Access 2000.
Par contre de mémoire ce qui marchait sous 97 fonctionne sous Xp et je suis retombé sur une syntaxe de 97 aujourd'hui même je n'ai
que peu de correction par rapport à ce que je t'avais donné hier de tête :
SomDom("[Champ1]","[Table]",'[Champ2]=[Formulaires]![NomForm]![Controle]')
Avais tu essayé avec ce que je t'ai donné hier ?
Espérant t'avoir été utile.
Bonsoir, Désolé je ne crois avoir jamais fait ce type de champs sous Access 2000. Par contre de mémoire ce qui marchait sous 97 fonctionne sous Xp et je suis retombé sur une syntaxe de 97 aujourd'hui même je n'ai que peu de correction par rapport à ce que je t'avais donné hier de tête : SomDom("[Champ1]","[Table]",'[Champ2]=[Formulaires]![NomForm]![Controle]')
Avais tu essayé avec ce que je t'ai donné hier ? Espérant t'avoir été utile.