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

Access Discussion :

fonction promo


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut [Résolu] fonction promo
    Bonjour (ou bonsoir selon)
    Je poste encore un sujet parce que j'ai un deuxieme probleme:

    J'ai un n°ref(unique à chaque fois), un prix de vente dans une table et dans une seconde table "promo", j'ai: N°ref, date_début,daye_fin et %_promo!!!

    J'ai créé une fonction (dans le module) comme suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [i]Function Calcul_Prix(Debut As Date, Fin As Date, Promo As Single, Prix As Single) As Single
    If Debut < Now() And Fin > Now() Then
    Calcul_Prix = Prix - (Prix * Promo / 100)
    Else
    Calcul_Prix = Prix
    End If
    End Function[/i]
    et j'appelle la fonction sous SQL comme suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [i]SELECT Ventes.[N° ref], Calcul_Prix(Promos.[Date début],Promos.[Date fin],Promos.[% promo],[prix vente].[Prix de vente]) AS [Prix de vente final]
    FROM Ventes, Promos, [prix vente];[/i]
    Mais voilà, le problème est le suivant: si j'ai deux produit vendu (un avec promo et l'autre sans), au lieu de recevoir une table avec la REF1 et le prix promo et la REF2 sans le prix promo, je recois:
    REF1 prix promo
    REF2 Prix promo
    REF1 prix sans promo
    REF2 prix sans promo
    Et en plus, je recois les 4 memes lignes mais inversées:
    ex: REF1 prix promo (mais le prix de la REF2!!!INCROYABLE)

    Donc je me retrouve avec 8 lignes au lieu de deux!!!

    Merci de m'aider et de m'eclairer!!!

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Merci de mettre les balises de code dans tes post, ils en seront plus clairs.

  3. #3
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Voilà qui est fait!!

    J'attends avec impatience votre aide précieuse!

    MERCI D'AVANCE

  4. #4
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut HELP!!!!
    Quelqu'un peut-il m'aider?

    Merci!

  5. #5
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    AIDEZ MOI PLEASE

  6. #6
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    Citation Envoyé par Terminator
    J'ai un n°ref(unique à chaque fois), un prix de vente dans une table et dans une seconde table "promo", j'ai: N°ref, date_début,daye_fin et %_promo!!!
    peux-tu poster les tables correctement c'est a dire leur nom et les attributs de tes tables sans oublié les jointures entre les tables.
    si on a les éléments clairs là on peut t'aider.

  7. #7
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    OK

    LA FONCTION:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [i]Function Calcul_Prix(Debut As Date, Fin As Date, Promo As Single, Prix As Single) As Single 
    If Debut < Now() And Fin > Now() Then 
    Calcul_Prix = Prix - (Prix * Promo / 100) 
    Else 
    Calcul_Prix = Prix 
    End If 
    End Function[/i]

    L'appelle de la fonction dans mon code SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [i]SELECT Ventes.[N° ref], Calcul_Prix(Promos.[Date début],Promos.[Date fin],Promos.[% promo],[prix vente].[Prix de vente]) AS [Prix de vente final] 
    FROM Ventes, Promos, [prix vente];[/i]
    LES TABLES:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    VENTES:
    N° ref
    quantité
    date de vente
    prix de vente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Promos:
    Date début
    Date fin
    n°ref
    % promo
    Et en plus, j'ai une requete qui calcule le prix de vente selon un benef et le prix d'achat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Prix vente:
    Prix de vente

    Le n°ref promo est lié au n°ref vente

  8. #8
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    dans ta requête tu n'utilise pas de jointure entre les tables :

    Ventes, Promos, [prix vente]. ces jointures devraient se trouvé dans la clause WHERE. c'est pourquoi Access ne trouvant pas de relation entre les tables il fait un produit cartésien d'où le resultat que tu obtient.

  9. #9
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Merci de ton aide précieuse, mais je suis plus un utilisateur d'access(débutant) que de langage SQL. Avec quelques petits topics de ce forum, j'ai réussi à ecrire ce code SQL, mais je ne connais absolument rien en ce qui concerne les jointures, peux-tu m'eclairer: quelles sont les mots clefs à utiliser?

    Je suppose que je dois lui dire "prendre les meme N°ref pour ventes et promos. Donc ca doit etre quelque chose du type:

    Pour N°ref.[promos]=N°ref[ventes] faire la fonction

    C'est ca?

    Merci de ton aide!!

  10. #10
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    Citation Envoyé par Terminator
    Pour N°ref.[promos]=N°ref[ventes] faire la fonction
    oui en effet c'est ça. mais il y a encore un problème. c'est avec ta table [prix vente] il n'y a aucune jointure avec les autres tables.
    je te conseil vivement de lire les tuto et FAQ du Forum sur le langage SQL. c'est pas la peine que je t'explique tout ça si tout est expliqué sur le forum.

  11. #11
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Ok, merci de ton aide, je vais lire les bases SQL. En plus, je crois que ca va bien me servir!

    THANKS

  12. #12
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    n'oubli pas le tag [resolu] stp !
    merci.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Fonction API
    Par margilb dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/07/2002, 11h11
  3. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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