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

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

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

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

Q&A

1回答

362閲覧

Access 追加クエリ データシートビューには表示されるのに実際には追加されない

nyk.

総合スコア3

Access

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

0グッド

0クリップ

投稿2022/05/08 04:19

編集2022/05/11 23:15

初心者な為、いろいろ不備がありましたら申し訳ありません。

以下のようなテーブル(t10_seijs1)にて、複数ある管理番号の内、一番最後のカラムに入力された管理番号を「最終管理番号」に取得したテーブルをつくりたいです。

【t10_seijs1(一部)】

  • t10_0310:開始日
  • t10_0170:ロット番号
  • t10_0360~t10_0364:管理番号①~④
t10_0310t10_0170t10_0360t10_0361t10_0362t10_0363t10_0364
2022/04/25 12:40:0060174100001473300100016029002
2022/04/26 12:00:00601591000014717003
2022/04/27 21:30:006003110000156680020001566800100016459004
2022/04/28 8:00:005344770C2116347017
2022/04/28 14:50:005683670C2200064066C2200123060
2022/04/28 10:30:005856890202204150192022042700120220427002

SQL

1INSERT INTO 2 M00_枝番判定前準備_最終管理番号 ( t10_0310, t10_0170, 最終管理番号 ) 3SELECT 4 t10_seijs1.t10_0310 5  , t10_seijs1.t10_0170 6  , Switch(IsNull([t10_0361]),[t10_0360] 7      ,IsNull([t10_0362]),[t10_0361] 8      ,IsNull([t10_0363]),[t10_0362] 9      ,IsNull([t10_0364]),[t10_0363] 10      ,True,[t10_0364]) AS 最終管理番号 11FROM 12   t10_seijs1;

【M00_枝番判定前準備_最終管理番号】

t10_0310t10_0170最終管理番号
2022/04/25 12:40:00601741000016029002
2022/04/26 12:00:00601591000014717003
2022/04/27 21:30:00600311000016459004
2022/04/28 8:00:005344770C2116347017
2022/04/28 14:50:005683670C2200123060
2022/04/28 10:30:00585689020220427002

希望は上記「M00」のように「最終管理番号」に格納されてほしいです。

ところが記載したSQLでは「データシートビュー」には格納されているように見えるのに、
更新クエリを実行しても下記のように「最終管理番号」が空のままになってしまいます。

t10_0310t10_0170最終管理番号
2022/04/25 12:40:006017410
2022/04/26 12:00:006015910
2022/04/27 21:30:006003110
2022/04/28 8:00:005344770
2022/04/28 14:50:005683670
2022/04/28 10:30:005856890

私なりにネットを確認してみたのですが、原因が分かりませんでした。
SQL文自体は、別の質問で回答者様に見ていただいたので問題なさそうなのですが、
他にどうしたらいいか分かりません。

大変恐縮なのですが、ご教示いただけますでしょうか。
よろしくお願いします。

※2022.05.12(木) 各データ型 追記
※M00_枝番判定前準備_最終管理番号

t10_0310t10_0170最終管理番号
日付/時刻型短いテキスト(フィールドサイズ7)短いテキスト(フィールドサイズ255)

※t10_seijs1

t10_0310t10_0170t10_0360t10_0361t10_0362t10_0363t10_0364
日付/時刻型短いテキスト(フィールドサイズ7)短いテキスト(フィールドサイズ11)短いテキスト(フィールドサイズ11)短いテキスト(フィールドサイズ11)短いテキスト(フィールドサイズ11)短いテキスト(フィールドサイズ11)

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

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

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

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

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

guest

回答1

0

当方のサンプルで、
提示のSQLの全角空白を半角空白に変換してから、実行したら問題なく実行できました。

実行したSQL

sql

1INSERT INTO 2 M00_枝番判定前準備_最終管理番号 (t10_0310, t10_0170, 最終管理番号) 3SELECT 4 t10_seijs1.t10_0310, 5 t10_seijs1.t10_0170, 6 Switch( 7 IsNull([t10_0361]), 8 [t10_0360], 9 IsNull([t10_0362]), 10 [t10_0361], 11 IsNull([t10_0363]), 12 [t10_0362], 13 IsNull([t10_0364]), 14 [t10_0363], 15 True, 16 [t10_0364] 17 ) AS 最終管理番号 18FROM 19 t10_seijs1;

実行後のテーブル
イメージ説明

投稿2022/05/08 06:11

hatena19

総合スコア33715

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

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

nyk.

2022/05/08 07:26

何度もすいません、いつもありがとうございます。 いただいたSQLをコピぺしたのですが、同じように再現できませんでした。 やっぱり空になってしまいます。 テーブルの構造がわるいのでしょうか。 それか、私が「全角空白」を入力してしまっているのでしょうか。 一度以下のサイトで「全角スペースから半角スペース」にしてみたのですが、変わりませんでした。 計算サイト:スペースを変換 https://www.calc-site.com/letters/convert_space/5
hatena19

2022/05/08 08:04

追加クエリを実行したときに、なにかエラーはでませんか。
nyk.

2022/05/08 12:44

>追加クエリを実行したときに、なにかエラーはでませんか。 特にメッセージなどは表示されなかったです。 いつもどおりaccessの右下に「クエリを実行しています」がでて、 その後「M00」のテーブルを開くと、他のカラムは追加されており、「最終管理番号」のみ空カラムになっている状態です。
hatena19

2022/05/08 23:28

「最終管理番号」フィールドのデータ型は何になってますか。
nyk.

2022/05/11 23:17

コメントをいただいていたのに遅くなって申し訳ありません。 >「最終管理番号」フィールドのデータ型 短いテキスト(フィールドサイズ255) にしています。 元テーブルのデータ型も「質問」に追記しました。
hatena19

2022/05/12 01:52

データ型に問題はなさそうですね。 回答のSQLを、SELECT以降のみにしで表示した場合、正しい結果になってますか。
nyk.

2022/05/12 07:13

>回答のSQLを、SELECT以降のみに やってみたところ、きちんと表示されました。 SQL文と、テーブルの型違いが問題でないとしたら、 あとは私のAccessのバージョンや設定を調べたほうがよろしいでしょうか。
nyk.

2022/05/12 07:30

気づくのが遅くなって申し訳ないのですが、 あと「t10_seijs1」は MySQLにあるもので、 Accessでリンクテーブルを作成しています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問