Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Access 2016)
3桁の時刻表示を4桁にして特定の表示を消したい
投稿日時: 21/02/18 19:37:39
投稿者: myzkktht

いつもお世話になっております。
勤怠の取り込みデータがあります。
クエリ上で、出勤の時間と退勤の時間を4桁にしたいので、Format関数で
0900にはなるのですが、休みの日に-1441という規定値が入っており、
これを空白にしたいのですがうまくいきません。
 
下のように無理やりIIFやReplaceをいれてもできず困っています。
何か簡単な関数を含めてやることはできないでしょうか。
ぜひご教授のほど、よろしくお願いします。
 
Format([出勤],"0000") & IIf([F4]="-1441","")
 
日付   出勤  退勤
2/1    0900  1700
2/2    -1441 -1441  ←これを空白にしたいです。

回答
投稿日時: 21/02/19 08:50:53
投稿者: Suzu

引用:
Format([出勤],"0000") & IIf([F4]="-1441","")
 
日付   出勤  退勤
2/1    0900  1700
2/2    -1441 -1441  ←これを空白にしたいです。

 
「 & 」を使うと、
Format([出勤],"0000") の結果 と、IIf([F4]="-1441","") の結果を 繋いで 出力します。
 
-1411 に対し、Format([出勤],"0000") を適用すると、戻り値 は、"-1441" のままですから
『-1411』 と、『IIf([F4]="-1441","") の戻り値』 を繋いだ結果が返りますから
空白文字列になるはずがありません。
 
また、[F4] ではないですよね?
 
 
IIF関数でも、Replace関数でも "-1411" を 空白文字列 に変える事は可能です。
3桁から、4桁に変える部分は、"-1411"を空白文字列に変えてからです。
 
まず、"-1411" を 空白文字列 に変える事を 落ち着いてトライしてみてください。

投稿日時: 21/02/26 22:00:10
投稿者: myzkktht

ありがとうございます。何とかできました。