Hé les gars, je suis à la recherche d'exécuter ce champ de requête/calculée dans Access, voici ce que je veux faire:Comment lancer cette requête d'accès?
If(Salaries.Amount > 20000) { If(Salaries.Amount > 30000) { If(Salaries.Amount > 40000) { Permits.Band = "Band 4"; } Else { Permits.Band = "Band 3"; } } Else { Permits.Band = "Band 2"; } } Else { Permits.Band = "Band 1"; }
Salaires et permis sont des tables, avec 2 autres tables de la DB - Cars et le personnel.
Salaries/Staff are linked by Staff_ID: 1 to 1, Staff/Permits are linked by Staff_ID: 1 to 1, Permits/Cars are linked by Permit_ID: 1 to M.
Fondamentalement, le champ « bande » des permis doit être calculé en fonction du personnel salaire des membres ... Le salaire se doit d'être dans un tableau distinct des détails du personnel, d'où la table salaries ...
Des idées?
EDIT:
En réponse à la réponse 1:
SELECT Switch(Salaries.Amount > 40000, "Band 4", Salaries.Amount > 30000, "Band 3", Salaries.Amount > 20000, "Band 2", True, "Band 1") AS Band FROM (Staff INNER JOIN (Permits INNER JOIN Cars ON Permits.Perm_ID = Cars.Perm_ID) ON Staff.Staff_ID = Permits.Staff_ID) INNER JOIN Salaries ON Staff.Staff_ID = Salaries.Staff_ID;
donne "non-concordance de type dans l'expression" lorsqu'il est exécuté ...
Merci! Cela modifie-t-il quelque chose comme ce qui est nécessaire? Merci –
@Chris Je ne sais pas pourquoi vous obtenez "Type mismatch". Voir si ma mise à jour donne un indice. – HansUp
Encore une fois lors de l'exécution de cette mise à jour ... :( –