🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

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

Null

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

Q&A

解決済

2回答

1417閲覧

NULL 値の転送時エラー回避

kanabun_ka

総合スコア6

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

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

Null

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

0グッド

0クリップ

投稿2021/01/28 07:14

NULL 値の転送時エラー回避 

前提条件 MSエクセルのVBAにてアクセス形式(accdb) のテーブルのデータを別のテーブルに転送時に NULL の場合 エラー発生

実行時エラー -2147467259(80004005)
フイールド テーブル名.フイールド名 には長さ 0 の文字列を格納できません

sql の記述 (一部省略)
UPDATE テーブルA INNER JOIN テーブルB ON
テーブルA.key_a = テーブルB .key_b
SET
テーブルA.fld_a1 = テーブルb.fld_b1

テーブルA.fld_a1 及び テーブルB.fld_b1 は文字列であるが テーブルb.fld_b1 には
一部に NULL (複数行にわたる) 部分有り
➀ この場合テーブルA.fld_a1 に NULL をセットできないか
➁ NULL の場合 セットしないように 更に条件をセット可能か

対応策をご教示願いたい。

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

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

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

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

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

guest

回答2

0

ベストアンサー

②結合条件にテーブルB.fld_b1 IS NOT NULLを追加してみてください。

SQL

1テーブルA.key_a = テーブルB.key_b

SQL

1(テーブルA.key_a = テーブルB.key_b AND テーブルB.fld_b1 IS NOT NULL)

複数の条件は()で囲む必要があるようです。

投稿2021/01/28 08:10

編集2021/01/28 08:14
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

フイールド テーブル名.フイールド名 には長さ 0 の文字列を格納できません

エラーメッセージから判断するに、Nullではないですね。
「長さ 0 の文字列」とNullは別物です。

「テーブル名.フイールド名」このテーブルをデザインビューで開いて、
「フィールド名」の「空文字列の許可」プロパティを「はい」に設定してください。
そうすれば、「長さ 0 の文字列」も格納できるようになります。

もし、テーブルのデザインの変更ができないなら、SQLを下記のように変更したらいいでしょう。

sql

1UPDATE テーブルA INNER JOIN テーブルB ON 2テーブルA.key_a = テーブルB .key_b 3SET 4テーブルA.fld_a1 = IIf(テーブルb.fld_b1="", Null, テーブルb.fld_b1)

投稿2021/01/28 08:00

hatena19

総合スコア34073

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問