質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

Q&A

解決済

2回答

3766閲覧

access 文字列型を日付型に変換する場合に、変換できない(日付でない文字)&NULLが含まれている場合の処理

mnbwqz

総合スコア74

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

0グッド

0クリップ

投稿2021/10/29 05:51

編集2022/02/04 23:55

アクセスで、以下のようなテーブルがあり、
クエリで、利用日から日付型のフィールド「利用日2」を作成し
「利用日2」の値を抽出条件にしたいと思っています。
「会議室利用日」クエリを途中まで作成しましたが、
利用日2に「#エラー」が表示されるものがあり、
その後の抽出もうまくいきません。
「利用日」が日付型に変換できないものは何らかの処理を
する必要があると思います。
どのように変更すればよいでしょうか。
よろしくお願いします。

「会議室利用日」テーブル

会議室名利用日
B0221/9/9
A012021/10/28
B01検討中
A022021/11/8
A01

「会議室利用日」クエリ
SELECT 会議室名, 利用日, IIf(IsError(CDate([利用日])),"",CDate([利用日])) AS 利用日2
FROM 会議室利用日;

「会議室利用日」クエリ実行結果

会議室名利用日利用日2
B0221/9/92021/09/09
A012021/10/282021/10/28
B01検討中#エラー
A022021/11/82021/11/08
A01#エラー

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

下記でどうでしょう。

sql

1SELECT 会議室名, 利用日, IIf(IsDate([利用日]),CDate([利用日]),Null) AS 利用日2 2FROM 会議室利用日;

IsDateで日付に変換できるかチェックできる。
""は文字列となるので、同じ列で日付型と共存できないので、日付に変換できない場合はNullにする。

投稿2021/10/29 06:04

hatena19

総合スコア33699

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mnbwqz

2021/10/29 07:01

ありがとうございます。 動作しました。 変換できない値をNULLにするアイデア、参考になりました。
guest

0

動作未検証ですがIsErrorではなくIsDateで判定するとよいかと思います。

投稿2021/10/29 05:59

can110

総合スコア38256

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mnbwqz

2021/10/29 06:59

ありがとうございます。 動作しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問