Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1737 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requète Access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requète Access

n°1828880
Chabi01
Posté le 18-12-2008 à 10:41:07  profilanswer
 

Bonjour à tous,
J'ai une problème à résoudre, je vous le livre le plus clairement ici.
 
Dans Access 2003, j'utilise le requèteur pour créer mes requètes.
J'ai 3 tables existantes :
TABLE 1 - PERSONNELS
Idpersonnel (clé primaire)
Nom
Prénom
 
TABLE2 - CONTRATS
Idpersonnel (champ de liaison sur table personnels)
Date de départ
Date de fin
Tarifs
 
TABLE 3 - HEURES
Idpersonnel (champ de liaison sur table personnels)
Date
Heures effectuées
 
Une personne de la table personnel (unique) peut avoir de multiples contrats à de multiples tarifs, et une personne unique peut avoir plusieurs dates et heures effectuées.
Ici, donc des 2 cotés, relations 1 à N
 
Tout fonctionne
 
La requète !
 
Il faut dans une requète que j'obtienne un résultat me donnant :
pour une personne, lister toutes les dates et heures effectuées (pas de souci, tout simple), et sur la même ligne, vérifier la date travaillée et la faire correspondre au tarif de cette date dans la table contrat (et là, aie !)
 
Donc avec un exemple
 
MARCEL a 2 contrats :  
1er contrat du 1/1/2008 au 15/1/2008 à 15 € de l'heure
2e contrat du 16/1/2008 au 30/3/2008 à 18 € de l'heure
 
RENE a 3 contrats :  
1er contrat du 1/1/2008 au 30/2008 à 20 € de l'heure
2e contrat du 1/2/2008 au 30/5/2008 à 25 € de l'heure
 
MARCEL A TRAVAILLE :
Le 1/1/2008 7h
Le 2/1/2008 5h
Le 17/1/2008 8h
 
RENE A TRAVAILLE
Le 30/1/2008 3h
LE 5/2/2008 8h
 
La requète doit pouvoir me renvoyer le tableau
 
MARCEL 1/1/2008    7h    15€
MARCEL 2/1/2008    5h    15€
MARCEL 17/1/2008   8h    18€
RENE   30/1/2008    3h   20€
RENE   5/2/2008      8h    25€
 
Et je ne vois pas comment écrire la requète...
Merci de votre aide
Cordialement,
Chabi

mood
Publicité
Posté le 18-12-2008 à 10:41:07  profilanswer
 

n°1829132
chapi
Downgradé
Posté le 18-12-2008 à 16:46:18  profilanswer
 

Et hop :
 

SELECT Personnels.id_personne, Personnels.nom, Personnels.prenom, Heures.heure, Heures.[date], Contrats.tarif
FROM  Heures INNER JOIN  Personnels ON .Heures.id_personne = Personnels.id_personne INNER JOIN   Contrats ON  
Heures.id_personne = Contrats.id_personne AND Heures.[date] BETWEEN Contrats.datedeb AND Contrats.datefin


 
 
Moralité, le requeteur c'est bien mais pas top :O


Message édité par chapi le 18-12-2008 à 16:46:45

---------------
I drive at 88mph ! Just in case...
n°1829231
Chabi01
Posté le 18-12-2008 à 20:03:49  profilanswer
 

Je vais tester ça et je reviens vous donner le résultat...
Et en tout cas, si ça marche, grande classe..

n°1829345
Chabi01
Posté le 19-12-2008 à 01:58:19  profilanswer
 

Et bien....bravo !!!
J'ai du corriger 2, 3 choses dans le sql (parenthèses, AND remplacé par WHERE dans la clause BETWEEN), mais le résultat est là !
Merci de m'avoir remis la lumière !  
Ce qui est intéressant, c'est de voir que la clause between est traduite dans le requèteur. Par contre, c'est vrai qu'il est plus simple de la saisir dans le sql que de jongler avec les zones de textes du requèteur.
 
Donc, encore une fois Chapi, Merci !!! ;)

n°1829366
chapi
Downgradé
Posté le 19-12-2008 à 09:24:37  profilanswer
 

Tu en doutais ? :O :D
 
Bizarre que tu aies eu à remplacer un AND ou mettre des parenthèses, car sous SQL cela passe nickel ainsi. Il y a bien une erreur dans ma requete, à savoir le point devant heures dans "FROM  Heures INNER JOIN  Personnels ON .Heures.id_personne = "
 
J'ai testé sous sql, et j'ai viré quelques dbo. pour que ce soit plus clair.....en oubliant de virer un point :D


Message édité par chapi le 19-12-2008 à 09:25:19

---------------
I drive at 88mph ! Just in case...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requète Access

 

Sujets relatifs
[MS Access] Requete sur horodatage "flou"Erreur requête SQL dans ACCESS
[Resolu][C#, ASP.net / access] problème requete update[ACCESS] Remplir une table a partir d'une requête SQL en VB
[ACCESS] Bouton Requete SQL INSERT INTO[Résolu] Requete Access
[Access VBA] Créer une requêteaccess requête sur liste déroulante avec dates
requete access[access] requête de suppression dans un bouton de commande ?
Plus de sujets relatifs à : Requète Access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR