Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul

Aucune réponse
Avatar
marco1988
Bonjour,

J’ai une base matière, cette base matière est une table de six champs :
CodeArticle : c’est la clé primaire.
Matière
Fournisseur
PrixUitaire
Unité : j’ai trois types d’article (mètre(m), poids (Kg), unitaire)
Poids/m^2
A partir de cette base matière je veux extraire les modules (comme la base matière est une liste des étudiants et les modules les groupes)
Je définie les modules comme une table de deux champs :
NomDuModule : c’est la clé primaire.
PrixTotal
La relation ente la table de base matière et la table des modules est une relation de plusieurs à plusieurs"
Donc j’ajoute une table BaseMatièreModule,elle est une table de
CodeArticle
NomDuModule
Qté
Longueur
Largeur
PrixSousTotal
Et apres je travaille seulement sur les formulaires
J’ai crée deux formulaires :
Un formulaire de base matière est basé sur la table de base matière
Un formulaire est composé d’un formulaire principal (NomDuModule et PrixTotal) et un sous formulaire (CodeArticle, Qté, Matière, Longueur, Largeur, Fournisseur, PrixUitaire, PrixSousTotal)

Maint je veux calculer le prix sous total automatiquement
J’essaye utiliser ce code :


Private Sub PrixSousTotal_BeforeUpdate(Cancel As Integer)
Dim oRst As DAO.Recordset
Dim oRst2 As DAO.Recordset
Dim oDb As DAO.Database
Dim i As Integer
Dim somme As Double


Set oDb = CurrentDb

Set oRst = oDb.OpenRecordset("SELECT Qté, Longueur,Largeur,[Code-Article]FROM [Aricle-Module]")
For i = 1 To oRst.RecordCount
Set oRst2 = oDb.OpenRecordset("SELECT [Prix unitaire],Unitè, [Poid/m2] from [Les articles standards] where [Code-Article] like '" & oRst.Fields("[Code-Article]") & "'")
If (StrComp (oRst2.Fields("Unitè"), "m") = 0) Then
somme = oRst2.Fields("[Prix unitaire]") * oRst.Fields("Qté") * oRst.Fields("Longueur")
oDb.Execute ("update [Aricle-Module] set PrixSousTotal = " & somme & " where [Code-Article] like '" & oRst.Fields("[Code-Article]") & "'")
End If
If (StrComp (oRst2.Fields("Unitè"), "Kg = 0) Then
somme = oRst2.Fields("[Prix unitaire]") * oRst.Fields("Qté") * oRst.Fields("Longueur")* oRst.Fields("Largeur ")* oRst2.Fields("[Poid/m2]")
oDb.Execute ("update [Aricle-Module] set PrixSousTotal = " & somme & " where [Code-Article] like '" & oRst.Fields("[Code-Article]") & "'")
End If


oRst.MoveNext
oRst2.Close
Next i

oRst.Close
oDb.Close
Set oRst = Nothing
Set oDb = Nothing

End Sub


Mais ça marche pas !!!!!!!!!!!

Pouvez-vous m'aider!?
merci d'avance!

Réponses