2

MS Access でテーブルをクエリに結合しようとしています。クエリのフィールドは「LineoffMonth」、テーブルのフィールドは「Production Month」です。LineoffMonth は次のようになります。

LineoffMonth: CDate(Month([Line_off_Date]) & "/1/" & Year([Line_off_Date]))

Production Month は日付/時刻データ型です。「式のデータ型の不一致エラー」が発生し続けます。なぜ 2 つのフィールドに参加できないのかわかりません。

4

1 に答える 1

2

[Line_off_Date]このイミディエイト ウィンドウ セッションが示すように、 が Null の場合にそのエラーが発生します。

Line_off_Date = Null
? Month(Line_off_Date) & "/1/" & Year(Line_off_Date)
/1/
? CDate("/1/") ' throws Type mismatch (Error 13)

テーブルを更新して、 の Null を置き換えることができます[Line_off_Date]WHEREまたは、に対して Null を持つ行を除外する句を追加できます[Line_off_Date]。または、 が Null でない場合はIIf式を返しますが、 が Null の場合は別のもの (おそらく Null?)を返す式を使用できます。CDate[Line_off_Date][Line_off_Date]

補足として、使用していたものの代わりに式を検討しDateSerialてください。

Line_off_Date = Date()
? CDate(Month(Line_off_Date) & "/1/" & Year(Line_off_Date))
12/1/2013
? DateSerial(Year(Line_off_Date), Month(Line_off_Date), 1)
12/1/2013 
于 2013-12-18T18:45:40.167 に答える