他のユーザーへの問題を回避するには:
問題 1 + 解決策:
ISNULL
関数を Access データベースで使用する場合は、AccessISNULL
に実装されている関数が SQL Server の実装とは異なることに注意してください。
アクセスISNULL
関数は常にTRUE
orを返しますFALSE
。そのため、使用法に合わせてカスタムIIF
関数を使用する必要がありますISNULL
。
問題 2 + 解決策:
さらに、列の別名と同じフィールド名を使用する場合、Access データベース エンジンは、フィールドへの「循環参照」があることを通知する可能性があります。
したがって、Alias と同じフィールド名を使用する必要がある場合は、フィールド名の前にテーブル名を追加するだけです。(例: RegTakePart.Website
単に の代わりに使用する必要がありますWebsite
)。Website
このようにして、列のエイリアス名として自由に使用できます。
これら 2 つの問題を回避するためのグローバルに機能する (およびテスト済みの) SQL クエリは次のとおりです。
SELECT RegName,
RegEmail,
RegPhone,
RegOrg,
RegCountry,
DateReg,
IIF(RegTakePart.Website IS NULL, 'no website, RegTakePart.Website) AS Website
FROM RegTakePart
WHERE Reject IS NULL