helpredou
Messages postés11Date d'inscriptionmardi 22 juin 2010StatutMembreDernière intervention20 juillet 2010
-
20 juil. 2010 à 10:51
helpredou
Messages postés11Date d'inscriptionmardi 22 juin 2010StatutMembreDernière intervention20 juillet 2010
-
20 juil. 2010 à 12:56
Bonjour tout le monde,
est ce que quelqu'un s'il vous plait pourrait me dire ce qui ne vas pas dans ce code vba !?
je débute en vba et j ai besoin d un petit code qui s execute suite a un click sur un champs dun tableau.
et dans ce code la je dois recuperer la valeur du "Port" ( frais de port d un fournisseur ) dans la table "Founisseur/Port" afin de calculer le coût d'achat.
ici CT_NUM est le nom du fournisseur.
je pense que l erreur vient de la requete , il reconnais pas Me.CT_NUM !! dois je faire une fonction pour recuperer cet valeur ?
Private Sub CT_NUM_Click()
Dim res As Recordset
Set db = CurrentDb()
ChnSQL ("SELECT Port FROM Fournisseur/port WHERE Fournisseur=" & Me.CT_NUM)
Set res = db.OpenRecordset(ChnSQL)
sPort = res.Fields("Port")
Me.Parent![Requête2]![Fournisseur Principal] = Me.CT_NUM
Me.Parent![Requête2]![Prix achat tmp] = Me.Expr1
Me.Parent![Requête2]![Coût d'achat] = Me.Expr1 * sPort
Me.Parent.Refresh
End Sub
/CODE
Merci beaucoup pour votre aide, et vos propositions
helpredou
Messages postés11Date d'inscriptionmardi 22 juin 2010StatutMembreDernière intervention20 juillet 2010 20 juil. 2010 à 12:56
c bon ca marche . j ai essayé d enlever ME.CT_NUM dans DLookup et le remplacer par un nom de founisseur. la ca n a pas marché mais il m affiche que la le beug est au niveau du nom de la fonction. il a suffit d enlever le mot "private " et la tout marche comme il faut .
donc le problem c etait le mot clé private qui peut etre, ne permettait pas a la fonction DLookup d acceder a la table.
helpredou
Messages postés11Date d'inscriptionmardi 22 juin 2010StatutMembreDernière intervention20 juillet 2010 20 juil. 2010 à 11:23
je te remercie avant tout pour ton aide .
justement c est au niveau de la requête que ca pose probleme , j ai l impression qu il reconnait pas CT_NUM quand j'écris la requete ainsi :
ChnSQL ("SELECT Port FROM [Fournisseur/port] WHERE Fournisseur=" & Me.CT_NUM)
y a il une autre maniere pour formuler la requête ?
helpredou
Messages postés11Date d'inscriptionmardi 22 juin 2010StatutMembreDernière intervention20 juillet 2010 20 juil. 2010 à 12:19
CT_NUM de type texte,( le nom du Founisseur) est le champs Fourniseur dans mon formulaire . le formulaire est basé sur une requête . je m explique :
j ai mon formulaire principale ( formulaire Prix de vente) qui se compose de plusieurs sous formulaire . dans le sous formulaire "PRIx ACHAT" il ya 2 champs : CT_NUM , et PRix ACHAT .
ce que je souhaite faire c est en cliquant sur le fournisseur (CT_NUM), ca va me premettre de choisir mon frounisseur principal, et attribuer ses valeur au fomulaire ( REquête1) et aninsi prendre en compte que les frais de Port de mon fournisseur principale.
helpredou
Messages postés11Date d'inscriptionmardi 22 juin 2010StatutMembreDernière intervention20 juillet 2010 20 juil. 2010 à 12:41
j ai essayé avec DLookup mais ca marche pas non plus !! est ce vous voyez pourquoi ?
Private Sub CT_NUM_Click()
Dim sPort As Double
sPort = DLookup("[Port]", "Founisseur/Port", "[Fournisseur]='" & Me.CT_NUM & "'")
Me.Parent![Requête2]![Fournisseur Principal] = Me.CT_NUM
Me.Parent![Requête2]![Prix achat tmp] = Me.Expr1
Me.Parent![Requête2]![Coût d'achat] = Me.Expr1 * (1 + sPort / 100)
Me.Parent.Refresh
End Sub