リンクテーブルを持つAccess 2016データベースがあります。 Azure SQLデータベースにリンクされています。 Accessクエリにテーブルを含めると、NULLの日付は1/1/1800として表示されます。私がAccessでテーブルを開いたばかりの場合、nullの日付は空白です。ここでは、クエリは次のとおりです。Microsoft Access 2016クエリは、リンクされたテーブル内のNULL日付に対して1/1/1800を返します。
SELECT dbo_WTSI_Jobs.Id, dbo_WTSI_Jobs.JobNo, dbo_WTSI_Jobs.CreatedDate, dbo_WTSI_Jobs.CompletedDate
FROM dbo_WTSI_Jobs
WHERE (((dbo_WTSI_Jobs.CreatedDate)>#1/1/2017#));
それがnullの場合、このクエリは1800年1月1日としてdbo_WTSI_Jobs.CompletedDateを返します。 WHERE句を省略すると、nullのdbo_WTSI_Jobs.CompletedDate値は空の文字列になります。
1800年1月1日にクエリが返されないようにするにはどうすればよいですか?
実際にはNULL値ではないように聞こえますが、空文字列です。空の文字列を日付に変換しようとすると、可能な限り最小限の日付が得られます。あなたは 'SWITCH(dbo_WTSI_Jobs.CompletedDate =" "、NULL)'のようなものを試すことができます。そのようなものは、その列の実際の 'NULL'値を返します。 – BJones
あなたはそうです、彼らはnullではありません。この式はfalseを返します。Expr1:IsNull([dbo_WTSI_Jobs]。[CompletedDate])。私はSWITCH関数に慣れていませんが、次のように私の問題を解決しました:CompletedDateCalc:IIf([CompletedDate] =#1/1/1800#、 ""、[CompletedDate])。ちなみに、データ型はdatetimeです。あなたの助けをありがとう。 –