Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Access 2013)
テーブルAの内容をテーブルBに更新したい
投稿日時: 18/10/10 23:31:25
投稿者: M.O

元テーブルから修正の必要なレコードを作業用テーブルにコピーし、修正後の内容を元テーブルに反映させるという手順で修正作業を行おうと考えています。
単純に作業用テーブルから元テーブルにコピーするだけではIDが変わってしまう為、別の方法を探しています。
 
https://dekiru.net/article/15123/
上記を元に、元テーブルのフィールドを作業用テーブルの内容に更新するクエリを1フィールド分のみ試作した結果正常に更新する事が出来ました。
しかしフィールドが大量にある為、
元テーブルから更新クエリにフィールドをドラッグ→レコードの更新欄に「[作業用テーブル]![フィールド名]」と書き込む
という作業をフィールドの数だけ行うとかなり手間がかかります。
 
このように、元テーブルの内容を作業用テーブルに更新するクエリを、手間をかけず作成する方法はあるでしょうか?

回答
投稿日時: 18/10/11 09:12:55
投稿者: よろずや

>手間をかけず作成する方法はあるでしょうか?
 
ありません。
あるとすば、選択クエリの項目のみをエディタで項目ごとに改行し、
それをエクセルに貼り付けて、式で=以降を作る。位ですね。
折角作ったものは、保存して再利用しましょう。
 
>フィールドが大量にある
 
テーブル設計に失敗している可能性があります。

回答
投稿日時: 18/10/11 11:01:32
投稿者: sk

引用:
元テーブルから修正の必要なレコードを作業用テーブルにコピーし、
修正後の内容を元テーブルに反映させるという手順で修正作業を
行おうと考えています。

引用:
しかしフィールドが大量にある為、元テーブルから
更新クエリにフィールドをドラッグ→レコードの更新欄に
「[作業用テーブル]![フィールド名]」と書き込む
という作業をフィールドの数だけ行うとかなり手間がかかります。

・更新クエリ( UPDATE ... SET ... 文)を生成する
 VBA のコードを作成して実行する。
 (そこまで出来るなら、そのまま SQL を実行した方が手っ取り早いですが)
 
・クエリの SQL ビュー、改行文字/タブ文字の検索/置換機能のある
 テキストエディタ、 Excel などの表計算ソフトを併用して
 自力で UPDATE ... SET ... 文を作成し、SQL ビューに貼り付け直す。
 
今のところ考えられるのは以上の 2 つ。
 
引用:
元テーブルの内容を作業用テーブルに更新するクエリを、
手間をかけず作成する

どの方法を採るにせよ、多少なりとも手間はかかるでしょう。
(「手間」の程度と SQL の記述スキルの問題)

トピックに返信