« アプリが売れました。その後-1 | トップページ | 苦手な修理 »

2013年5月19日 (日)

テーブルの追加・更新で悩みました。

部品のコードを変更する機能を追加中ですが、

全部で13のテーブルのデータを同時に修正する必要がありました。

単純な置き換えで更新すればよいテーブルが10個

変更後の部品コードを追加しなければいけないテーブルが3個です。

単純な置き換えは、手間だけでしたが、部品コードの追加で、悩みました。

部品コード以外のデータは、追加時に同じ値を持って、部品コードだけが更新されれば、一回のテーブル操作で済みます。

SQLのINSERT INTO文を使って、同じ値のデータを追加することは、すぐに出来たのですが、
追加時に新しいい部品コードに更新する事がなかなか出来ませんでした。

VALUESを使えば、新しい値を書き込めるのは判っているのですが、それではINSERT INTOとUPDATEの2段階の処理が必要になります。

Access以外ではvalues select文を使ってやりたい事が出来る記事を見つけたのですが、うまく動きませんでした。

試行錯誤の結果ですが、Accessでも下記のSQL文で、更新しながら、追加する事が出来ました。

【SQL文】
strSQL = "INSERT INTO M_修理使用部品対応表 ( 修理コード, 部品コード) "
strSQL = strSQL & "SELECT M_修理使用部品対応表.修理コード, '" & Code2 & "' AS 部品コード "
strSQL = strSQL & "FROM M_修理使用部品対応表 "
strSQL = strSQL & "WHERE (((M_修理使用部品対応表.部品コード)='" & Code1 & "'));"
DoCmd.RunSQL strSQL, True

'" & Code2 & "' AS 部品コード "と書いてやる事で、部品コードのデータが、 Code2変数の値に更新されたレコードが追加されます。

« アプリが売れました。その後-1 | トップページ | 苦手な修理 »

Access 業務管理」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: テーブルの追加・更新で悩みました。:

« アプリが売れました。その後-1 | トップページ | 苦手な修理 »

関宿町周辺の自転車屋MAP

千葉県内出張修理店情報

自転車出張修理のブログ

自転車修理法の疑問はこちらへ

カテゴリー

無料ブログはココログ