Requête Microsoft Access vue comme une fonction ou une vue par Visual Studio 2005
-
03-07-2019 - |
Question
J'ai une requête de base de données Microsoft Access à importer dans un jeu de données Visual Studio 2005 .
Lorsque la requête est formée à l'aide d'une fonction NZ () semblable à celle-ci:
SELECT NZ(tblComponentSpecs.nPurchaseCostQuantity, 0) AS Quantity
FROM tblComponentSpecs;
il apparaît dans la liste Fonctions de la connexion de données.
Toutefois, lorsque la requête est formée à l'aide d'une fonction IIF () semblable à celle-ci:
SELECT IIF(tblComponentSpecs.nPurchaseCostQuantity Is Null, 0, nPurchaseCostQuantity) AS Quantity
FROM tblComponentSpecs;
il apparaît dans la liste Vues .
Quelqu'un peut-il expliquer pourquoi?
La solution
Cela est probablement dû au fait que Nz ()
est une fonction VBA, alors que IIF
fait partie de Jet SQL. (Oui, il existe également une fonction nommée Iif ()
dans VBA. Plus d’informations sur Le site Web d'Allen Browne .)
Je suppose que IIF
est traduit en CASE WHEN
et crée ensuite une vue valide, et Nz ()
n'est pas traduit.