IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Comparer 2 dates par rapport à une autre puis afficher la bonne valeur d'un autre champ! [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut Factures: MàJ des prix sans changer le prix des factures déjà éditées
    à tous

    Je créer une BDD pour la facturation de ma petite entreprise.
    Le problème est que lorsque je modifie le prix d'un article, ça me change le prix dans les facture déjà éditée et payées alors qu'il faut conserver l'ancien prix.

    J'ai parcouru le forum de long en large et en travers, et je suis tombé sur ce POST ou l'idée de Philippe JOCHMANS me plais bien...

    Ca consiste à créer un champ date début et fin de validité puis de là, créer une requête qui elle doit prendre le prix de l'article qui correspond au fait que la date facture soit comprise entre la date début de validité et fin de validité.

    Avec cette méthode j'ai un historique des prix en fonction des dates.
    Maintenant ceci est juste un plus donc pas obligatoire, s'il existe une méthode où en 3 coups de cuillère à pot c'est réglé je suis preneur...

    Je n'arrive pas a faire la requête, rien ne fonctionne, quelqu'un saurai m'aider?

    Pour info, dans la table produit, c'est 2 listes déroulante, je sélectionne une marque, et dans la sous marque j'ai un filtre qui m'affiche que les produits concernés par la marque.

    En PJ mes tables avec les liens.

    Merci par avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je suis content que l'idée te plaise

    Peux-tu nous mettre la requête que tu as essayé de faire et ce qui te gêne.

    Philippe

  3. #3
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Vu que la requête ne fonctionnais pas du tout, je l'ai effacée.
    J'ai essayé de mettre en critère quelque chose du genre :

    Critère du champ PRIX : [date début validité]<[Date facture]<[Date fin validité]
    Si j'enregistre et reviens dans la requête il ma changé de place mon critère en le scindant en 2 (une moitié pour le nom du champ, l'autre pour le critère)

    En faite je galère car il y a trop de variables, date facture est variable, date début et fin validité sont variable, et le résultat à afficher est fonction de la date de validité du prix et du produit lui même.

    Sur le coup là je rame a fond

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    Dans ce genre de cas, je préfère stocker le prix de l'article au moment de la création de la facture. En fait je met un champ Prix dans la table détails de facture.
    A la création de la ligne de facture lorsque je choisis l'article et le prix est automatiquement renseigné (par macro ou VBA), mais il n'a pas de lien avec le prix du produit. Donc le changement de prix d'un produit n'affecte pas les factures précedemment émises.

    J'espère que cela pourra résoudre le problème de validité de prix

  5. #5
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Bonjour fgiambelluco

    Citation Envoyé par fgiambelluco Voir le message
    Dans ce genre de cas, je préfère stocker le prix de l'article au moment de la création de la facture. En fait je met un champ Prix dans la table détails de facture.
    Dans mon cas, j'ajoute donc un champ PRIX dans ma table Contenu facture

    A la création de la ligne de facture lorsque je choisis l'article et le prix est automatiquement renseigné (par macro ou VBA), mais il n'a pas de lien avec le prix du produit. Donc le changement de prix d'un produit n'affecte pas les factures précédemment émises.
    Dans ce cas, il faut donc que j'ajoute un autre champ Prix dans ma table Produits dans laquelle je renseigne donc la marque et sous marque d'un produit avec son prix correspondant.

    Le lien entre les 2 PRIX n'est pas effectuée par une relation, mais comme tu dis par macro ou VBA.
    Jusque là ais-je bien compris le truc?

    Si j'ai bien compris le truc, comment j'affiche le bon PRIX dans mon contenu facture en fonction de l'article sélectionné?

    Merci pour ta réponse, ta méthode à l'air plus facile à réaliser.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    C'est exactement le principe.

    Si j'ai bien compris le truc, comment j'affiche le bon PRIX dans mon contenu facture en fonction de l'article sélectionné?
    lorsque tu saisis un article (sous marque) dans le détail de ta facture (contenu facture), il faut intercepter l'événement de Mise à jour, pour mettre le champ prix à jour en fonction du prix du produit.

    Donc, tu demandes les propriétés du champ sous marque et tu généres du code derrière la propriété Après Mise à Jour

  7. #7
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Ok, j'ai compris l'idée.
    Maintenant pour programmer ça, c'est pas gagné, je suis un peu une bille en VBA!

    J'imagine qu'il faut utiliser la fonction "Recordset"?

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour

    J'imagine qu'il faut utiliser la fonction "Recordset"?
    Pas forcément

    Tu peux utiliser le DLookUp, ce qui donnerait sur mise à jour du produit (à peu prés, à adapter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    me.Prix=DLookUp("[Prix produit]","Produits","[sous marque]=" & me![sous marque]) ' si sous marque est numérique ou
    me.Prix=DLookUp("[Prix produit]","Produits","[sous marque]='" & me![sous marque] & "'") ' si sous marque est texte

  9. #9
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Bonsoir,

    Merci pour ton aide fgiambelluco, c'est formidable, ça fonctionne!

    Même en changeant un prix, l'ancienne facture garde l'ancien prix


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. insérer une date par rapport à une semaine
    Par la belette dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/06/2008, 10h52
  2. Réponses: 2
    Dernier message: 21/03/2007, 16h06
  3. [JFrame] Placer une fenêtre par rapport à une autre
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 16/09/2005, 16h47
  4. Initialisation d'une colonne par rapport à une autre colonne
    Par jeromesco dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/04/2005, 17h15
  5. [JCombobox] modif d'une jcombobox par rapport à une autre
    Par The Wretched dans le forum Composants
    Réponses: 2
    Dernier message: 21/03/2005, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo