
テーブル1にフィールド名→日付、データ型→日付/時刻型(主キーなし)
を作成し、
クエリ1を作成し、フィールド1にテーブル1の日付フィールドをドラッグし、
フィールド2には「有無: IIf([日付]="","未",[日付])」
を入力しました。
「日付フィールドが空白なら有無フィールドは「未」、入力されているならその日付を表示する」
としたいです。
しかし画像のように
日付フィールドが空白→有無フィールドも空白
日付フィールドに日付が入っているなら→有無フィールドは#エラー
になってしまいます。
何がだめなんでしょうか?
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
>何がだめなんでしょうか?
日付/時刻型のデータは文字列型ではないので""と比較する事は出来ません。
なので、データが入っているレコードでは「型が違うから比較出来ない」のでエラーになり「#error」が表示されます。
そして、データが入っていないレコードでは、型の違いによるエラーにはなりませんが「NULL値と""は等しくない」と判断され「日付、つまり、NULL」が表示されます。
「長さ0の文字列」と「NULL値」は「異なる値」だと言う事を忘れてはいけません。
つまり
>日付フィールドが空白→有無フィールドも空白
>日付フィールドに日付が入っているなら→有無フィールドは#エラー
になる訳です。
これは「意図した動作ではないが、仕様通りの動作」なので
有無: IIf([日付]="","未",[日付])
と言う式を書いた場合には、上記の動作は正常な動作です。
質問者さんが意図した通りに動作させるにはIsNull関数を用い
有無: IIf(IsNull([日付]),"未",[日付])
として下さい。

No.3
- 回答日時:
》 しかし画像のように
何処にその「画像」があるのですか?
No.2
- 回答日時:
クエリ1: 選択クエリー
ID__日付_____________有無
1___2009/01/01__#エラー
2__________________________________
SELECT tab1.ID, tab1.日付, IIf([日付]="","未",[日付]) AS 有無, *
FROM tab1;
クエリ2: 選択クエリー
ID__日付_____________有無
1___2009/01/01__2009/01/01
2_______________________未
SELECT tab1.ID, tab1.日付, IIf(Len([日付] & ""),[日付],"未") AS 有無, *
FROM tab1;
SELECT tab1.ID, tab1.日付, IIf([日付] Is Null,"未",[日付]) AS 有無, *
FROM tab1;
SELECT tab1.ID, tab1.日付, IIf(NZ([日付],"")="","未",[日付]) AS 有無, *
FROM tab1;
× [日付]=""
○ NZ([日付],"")="
○ [日付] Is Nul
○ Len([日付] & "")
と、言う事だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
Accessを使って日付を比較したい
その他(Microsoft Office)
-
アクセスの初心者の質問です(空白の場合に他のフィールドを表示させたい。)
Access(アクセス)
-
-
4
ACCESSで2つフィールドの日付を比較して新しい日付を表示するには。
Access(アクセス)
-
5
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
6
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
7
IIF関数の使い方
Visual Basic(VBA)
-
8
Access 2003 iif [日付フィールド] is null のあとで<>がうまく働かない
Word(ワード)
-
9
「#エラー」の回避
Access(アクセス)
-
10
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
11
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
12
ACCESS更新クエリで型変換エラー
Access(アクセス)
-
13
【ACCESS/必須条件とOR条件を組み合わせる】
その他(Microsoft Office)
-
14
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
-
15
ACCESSでフィールド名の変更(VBA)
Access(アクセス)
-
16
ACCESSのクエリー抽出条件にIIFを使用して
Access(アクセス)
-
17
Accessで値がnullの場合は計算せずにnullをかえす方法
Access(アクセス)
-
18
ACCESSのクエリで抽出条件「または」は9個までしかかけませんよね…
Access(アクセス)
-
19
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
20
Access_Formのデザインビュー画面を拡大表示
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差し込み印刷で日付の曜日を表...
-
日付を差し込み印刷で表示した...
-
Accessで秒を時間で表示させる...
-
Word2010 フィールド内での和...
-
accessで残業時間計算
-
「24日の0時」って・・・
-
日付の大小の表現
-
VBAでエクセルシートを更新...
-
差し込み印刷に当日の日付が入...
-
エクセルで最高値、最低値の日...
-
excelで、セル内に文字が入力さ...
-
宀や广など、部首だけを入力す...
-
エクセルのチェックボックスを...
-
「時間」、「期日」、「日付」...
-
エクセルで数字から名前に変...
-
メールの最後に日付をいれますか?
-
Excel:セルに入力されている日...
-
Excel 隣のセルが空白以外の場...
-
ACCESSでの時間外計算方法
-
[SQLSERVER2005]OSの日付を変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差し込み印刷で日付の曜日を表...
-
日付を差し込み印刷で表示した...
-
日付を昇順で並び替えし、空白...
-
日付がインポートされない
-
クエリで日付型のIIF関数の使用
-
Wordの日付変換ってできますか?
-
Wordで、ヘッダーに印刷日付を...
-
重複を除外したカウント方法を...
-
【Word】 今日の「年」「月」...
-
Word2010 フィールド内での和...
-
word2007で日付挿入したら翌日...
-
【Tableau Desktop】文字列から...
-
日付型のテキストボックスに数...
-
日付のデータ型について
-
Accessで秒を時間で表示させる...
-
ウィンドウィズ メモ帳で日付だ...
-
FileMaker Pro 10 で令和を表示
-
ファイルメーカーPro7でカレン...
-
ファイルメーカーで検索結果を...
-
エクセルデータをファイルメー...
おすすめ情報