Requète Access - SQL/NoSQL - Programmation
Marsh Posté le 18-12-2008 à 16:46:18
Et hop :
SELECT Personnels.id_personne, Personnels.nom, Personnels.prenom, Heures.heure, Heures.[date], Contrats.tarif |
Moralité, le requeteur c'est bien mais pas top
Marsh Posté le 18-12-2008 à 20:03:49
Je vais tester ça et je reviens vous donner le résultat...
Et en tout cas, si ça marche, grande classe..
Marsh Posté le 19-12-2008 à 01:58:19
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 !!!
Marsh Posté le 19-12-2008 à 09:24:37
Tu en doutais ?
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
Marsh Posté le 18-12-2008 à 10:41:07
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