Access : commandes dans la base "Comptoirs", besoin d'aide !

Access : commandes dans la base "Comptoirs", besoin d'aide ! - Logiciels - Windows & Software

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...

Reply

Marsh Posté le 22-02-2007 à 15:55:15   

Reply

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


Message édité par SuppotDeSaTante le 22-02-2007 à 16:01:42

---------------
Soyez malin, louez entre voisins !
Reply

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...

Reply

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...  :D  
Merci !


Message édité par bob84 le 22-02-2007 à 16:31:23
Reply

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...

Reply

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.  
    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)

 
 
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


---------------
Soyez malin, louez entre voisins !
Reply

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.

Reply

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...


---------------
Soyez malin, louez entre voisins !
Reply

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 !


Message édité par bob84 le 24-02-2007 à 08:36:46
Reply

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 ?

Reply

Marsh Posté le 24-02-2007 à 10:58:11   

Reply

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.
Apres, comme toujours, tout depend ce que tu souhaites faire ?


 
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.

Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed