Access : commandes dans la base "Comptoirs", besoin d'aide ! - Logiciels - Windows & Software
Marsh Posté le 22-02-2007 à 15:58:41
Je ne me souviens plus tres bien.
Mais je suppose que le prix est un champs qui est aussi dans la table commande et qu'il est calculé en fonction de la table produit puis stocké dans la table commande.
En gros
Champs Commande.Prix est null
Tu saisis un prix dans Produit.Prix
IL calcule/récupère la valeur de Produit.Prix
Il met a jour Commande.Prix
Ce qui fait que les vieux ne sont pas touchés, car stockés dans la table commande, mais mis a jour a la saisi d'une nouvelle commande en fonction du produit sélectionné
C'est une hypothese hein
Cordialement
Marsh Posté le 22-02-2007 à 16:14:48
Oui, c'est bien que j'avais imaginé mais je n'arrive pas à trouver où la fonction qui permet cette mise à jour...
Marsh Posté le 22-02-2007 à 16:31:01
Je viens de trouver (enfin... je crois !)
On dirait qu'il y a un code VisualBasic qui dit effectivement d'aller chercher le prix dans la table articles avant de l'enregistrer dans la table "détail commandes".
Je le mets ici, si quelqu'un peut confirmer que j'ai bien compris :
"Private Sub Réf_produit_AfterUpdate()
On Error GoTo Err_Réf_Produit_AfterUpdate
Dim strFiltre As String
' Définit le filtre avant d'être utilisé dans la fonction DLookup.
strFiltre = "[Réf produit] = " & Me![Réf produit]
' Recherche le prix unitaire du produit et l'assigne au contrôle Prix unitaire.
Me![Prix unitaire] = DLookup("[Prix unitaire]", "Produits", strFiltre)
Quitte_Réf_Produit_AfterUpdate:
Exit Sub
Err_Réf_Produit_AfterUpdate:
MsgBox Err.Description
Resume Quitte_Réf_Produit_AfterUpdate
End Sub"
Maintenant, il faut que je trouve le moyen de l'adapter à ma petite base de factures...
Heu, au fait, si vous avez plus simple pour faire aussi bien, je suis preneur...
Merci !
Marsh Posté le 22-02-2007 à 16:58:25
Bon, je suis arrivé à bidouiller le truc, ça a l'air de marcher sauf qu'il me met toujours le prix du premier article même si je choisis l'article suivant dans ma table...
Rame, rame, rameur, ramer...
Marsh Posté le 22-02-2007 à 17:03:55
Bah une macro toute bete avec un definirvaleur et un rechdom mais bon, si tu n'as jamais fait d'access...
Citation : ' Définit le filtre avant d'être utilisé dans la fonction DLookup. |
Ca peut aussi s'ecrire :
Me![Prix unitaire] = DLookup("[Prix unitaire]", "Produits", "[Réf produit] = " & Me![Réf produit])
En gros
Me![Prix unitaire] <(--- Le champs/controle Prix unitaire du formulaire actif (Me)
=
DLookup("[Prix unitaire]", "Produits", "[Réf produit] = " & Me![Réf produit]) <(--- Il va récuperer le prix unitaire dans la table Produit où le champs Ref Produit est egal au champs/Controle Ref Produit du formulaire
Cordialement
Marsh Posté le 22-02-2007 à 17:36:41
Bon, je ne peux pas vraiment expliquer pourquoi mais finalement, ça fonctionne.
Chuis content mais j'y ai quand même passé l'après-midi !
Cordialement.
Marsh Posté le 22-02-2007 à 18:36:42
bob84 a écrit : Bon, je ne peux pas vraiment expliquer pourquoi mais finalement, ça fonctionne. |
C'est dommage c'est aussi interressant de comprendre le pourquoi...
Marsh Posté le 24-02-2007 à 08:36:17
SuppotDeSaTante a écrit : C'est dommage c'est aussi interressant de comprendre le pourquoi... |
Salut,
Je n'étais plus venu sur le forum depuis jeudi.
Oui, c'est effectivement intéressant de comprendre le pourquoi, mais j'ai encore du mal avec les macros, le Visual Basic, tout ça...
L'idéal, pour moi, ça serait un logiciel "wysiwyg", comme Frontpage pour le html (encore que le html, j'ai compris comment ça fonctionne !)
Si tu as des tuyaux, ça m'intéresse !
Marsh Posté le 24-02-2007 à 10:58:11
A partir du moment ou tu communiques, modifies/céés dans une base de données, je dirais qu'Access est l'outil avec lequel on peut apprendre facilement. Et pour le prix, on peut faire des trucs tout a fait correct.
Apres, comme toujours, tout depend ce que tu souhaites faire ?
Marsh Posté le 24-02-2007 à 12:53:38
SuppotDeSaTante a écrit : A partir du moment ou tu communiques, modifies/céés dans une base de données, je dirais qu'Access est l'outil avec lequel on peut apprendre facilement. Et pour le prix, on peut faire des trucs tout a fait correct. |
Pour ce qui est de la base de données en elle-même et du travail qu'on peut y faire à l'intérieur, je commence à bien m'en sortir mais c'est la création des macros qui me bloque.
Marsh Posté le 24-02-2007 à 13:03:04
L'aide est quand meme bien foutue. Tu as aussi la possibilité de ne passer que par les macros, et non pas par VBA, et ensuite tu transforme tes macros en vba pour comprendre la syntaxe
Marsh Posté le 22-02-2007 à 15:55:15
Bonjour,
Je vais continuer à chercher de mon côté, mais je fais quand même appel à vos connaissances.
Dans la base de données Access "Les comptoirs", je n'arrive pas à comprendre comment se passe le processus de saisie des articles dans la commande.
Mon soucis vient au niveau du prix.
Si je change le prix d'un article dans la table "Produits", le changement de prix ne va pas se faire sur les commandes déjà saisies mais il aura lieu à chaque fois que je vais saisir une nouvelle commande.
J'ai créé la base de données "Factures" (l'exemple qu'on trouve un peu partout) mais si je change le prix de mes produits, le changement va se faire dans toute la base, dans les factures et dans le détail factures !
Comment ont-ils fait ?
De même, je n'arrive pas à comprendre le rôle joué par la requête "Détails commandes complets".
Merci pour vous lumières...