Date: Sun, 13 Jul 2003 11:36:00 +0900
From: Akihiro Tsutsui <who@example.ne.jp>
初めまして、筒井と申します。
たまたま、当方も似たような作業を先週末にやりましたので
参考になるかどうか判りませんが・・・
テーブル1とテーブル2の構造が(正規化という点で)どうなっているのか
よくわかりませんが、テーブル1は出荷先マスタ的なもの、テーブル2は
出荷記録的なもの、id1とid2は同じ値であり、テーブル1とテーブル2は
1対多の関係で、テーブル1のidを変更したときにテーブル2のidも変更したい
(連鎖更新)とのことだと仮定しての内容です。
間違っていたら申し訳ないのですが、トリガを利用すれば如何でしょう。
Access adp (アクセスプロジェクト)をお使いでしたら、テーブル表示
ウインドウでトリガを仕込みたいテーブル(多分この場合だとテーブル1)
を右クリックし、トリガを選択するとTSQLを記述するウィンドウが
表示されますので、そこに以下のコードを記述してみてください。
Create trriga dbo.テーブル1id_更新 On テーブル1
for Update
as
declare @newid int, @oldid int
set @newid = ( select from inserted )
set @oldid = ( select from deleted )
set nocount on
if update ( id1 )
begin
update テーブル2 set id2 = @newid from テーブル2,inserted,deleted where テーブル2.id2 = @oldid
end
return
上記コードの最初2行 Create から as までは、スペリングが間違っている
可能性が非常に高いのでトリガ作成画面に表示されるスペリングに
あわせてください。
現在、自宅なので動作確認ができないため、エエ加減な返信になり
申し訳ございません。
また当方も始めて数ヶ月のビギナーのため、間違い、考え違いなど
ございましたら、識者の方のご指摘をお待ちしたいと思います。
>Access2002とMSDEで簡単なアプリケーションを
>作ろうとしておりますが、mdbの感覚がどうしても
>抜けず、どうもうまくいきません。
>どなたかご教授お願いします。
>
>やりたいことは以下の通りです。
>2つのテーブル1と2があります。
>idでリレーションしています。
>id1,出荷先、日付、コード、品名、数量
>のフィールドでビュー表を作り、
>id1が更新されると、id2にも同じ値が
>入力されるというものです。
>
>
>
>テーブル1
>id1 int(identity) キー
>出荷先 varchar
>日付 datetime
>
>
>
>テーブル2
>id2 int キー
>コード varchar キー
>品名 varchar
>数量 int
***************
Akihiro Tsutsui
***************
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|