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 :

Calculer un coût de location


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Calculer un coût de location
    Bonjour à tous,
    Je suis étudiant et je réalise dans le cadre de ma formation une base de données sous Access 2007. Je dois effectuer la liste de directives données par mon professeur.
    La base de données traite d'une agence de location de voitures pour particuliers. J'ai ainsi une table Client avec les coordonnées des clients, une table Location, une table Véhicule, et une table Categorie (car les véhicules sont classés par catégorie étant donné que le prix de la location n'est pas le même selon la catégorie du véhicule).

    Mon problème :
    Mon professeur me demande de faire calculer à Access le montant de la location pour tous les clients. Celui-ci se compose du coût du forfait et d'un surcout éventuel en cas de dépassement de la distance forfaitaire (1000km par jour).
    Il me faut trouver la formule permettant de calculer ce cout total, puis effectuer les actions sur Access.

    Mon idée :
    Pour la formule, j'ai pensé à CoutTotal: Duree*CoutForfait+((CompteurRetour-CompteurDepart)-(Duree*1000))*SurcoutKm mais le problème est que parfois le client ne dépasse pas le quota de 1000kms par jour et cela remet en question ma formule.

    Pouvez-vous m'aidez s'il vous plait ?

    Cordialement

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Tu peux utiliser IIF() pour faire un test.

    Dans ton cas je ferai un truc du genre

    IIF(DistanceParcouru<1000;CalculMoins1000Km;CalculPlus1000Km)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide, mais est-il possible de rentrer une telle formule dans une requête ? Car c'est ce que j'essaie de faire mais j'ai soit un problème de syntaxe, soit je m'obstine à tenter l'impossible.

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    La syntaxe est la même dans une requête et en vba (syntaxes anglaises) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Duree*CoutForfait + iif(CompteurRetour-CompteurDepart-Duree*kmforfait>0, (idem...)*SurcoutKm, 0)

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Voilà ce que j'ai entré dans la case Champ de ma requête :

    CoutTotal: [Duree]*[CoutForfait]+(select iff(([CompteurRetour]-[CompteurDepart])-[Duree]*1000>0,([CompteurRetour]-[CompteurDepart]-[Duree]*1000)*[SurcoutKm],0))

    Mais quand je passe en mode Feuille de calcul, Access me dit qu'il y a une erreur de syntaxe, je ne la trouve pas ...

    Merci pour votre aide

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    C'est iif avec 2 i et 1 f et non iff comme tu l'as écris.

    A+

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/03/2010, 10h21
  2. Comment l'optimiseur d'Oracle calcule le coût
    Par Vincent Rogier dans le forum Contribuez
    Réponses: 8
    Dernier message: 31/07/2009, 11h34
  3. Comment l'optimiseur d'Oracle calcule le coût
    Par big1 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 12/06/2009, 14h07
  4. [Conception] Simulation de calcul de coût
    Par yezid dans le forum Modélisation
    Réponses: 2
    Dernier message: 29/03/2007, 15h54

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