Запрос Microsoft Access, рассматриваемый как Visual Studio 2005 как функция или представление - PullRequest
1 голос
/ 17 октября 2008

У меня есть Microsoft Access запрос к базе данных, который я пытаюсь импортировать в Visual Studio 2005 набор данных.

Когда запрос формируется с использованием функции NZ () , например:

SELECT NZ(tblComponentSpecs.nPurchaseCostQuantity, 0) AS Quantity
FROM tblComponentSpecs;

отображается в списке Функции в подключении к данным.

Однако, когда запрос формируется с использованием функции IIF () , подобной этой:

SELECT IIF(tblComponentSpecs.nPurchaseCostQuantity Is Null, 0, nPurchaseCostQuantity) AS Quantity
FROM tblComponentSpecs;

отображается в списке Views .

Может кто-нибудь объяснить, почему?

1 Ответ

2 голосов
/ 18 октября 2008

Вероятно, это связано с тем, что Nz() является функцией VBA, тогда как IIF является частью Jet SQL. (Да, в VBA также есть функция с именем Iif(). Дополнительная информация на сайте Аллена Брауна .)

Я полагаю, что IIF переводится в CASE WHEN, а затем создает действительное представление, а Nz() не переводится.

...