Date: Tue, 26 Aug 2003 15:45:59 +0900
From: "koyama" <koyama@kensui.on.arena.ne.jp>
小山といいます。
Win2000 ServerにMSDE7.0をインストールしています。
端末は、"adpファイル"を使用しています。
更新するフォームでデータの更新を2度3度かけると、
「レコードの保存」、「クリップボードにコピー」、「他のユーザーの設定を反映」
といったボタンがある
メッセージボックスが以下のように表示されます。
=============================================================
「データの競合」(メッセージ題名)
このレコードは、他のユーザーによって変更されています。
[レコードの保存]を選択すると、他のユーザーによる変更を無視し、
自分が行った変更を反映します。
<<以下略>>
============================================================
こういったメッセージボックスが表示されないように更新をかけるには
どうすればよろしいのでしょうか?
以下にストアドプロシージャを記しておきます。
よろしくお願いします。
==========================================================
ALTER PROCEDURE 品名入力T更新_store
------パラメータ変数は設定されているものとする------
AS
SET NOCOUNT ON
--入力日を更新
if @hinmeino=0 and @irisu=0
begin
update 品名入力T
set 入力日=@nyuryoku
where 品名入力ID=@hinmeiid
end
if @@ERROR <> 0
begin
RAISERROR('更新時エラー発生',16,1)
ROLLBACK TRANSACTION
end
--品名コードを更新
else if @nyuryoku=convert(datetime,'1900/01/01') and @irisu=0
begin
update 品名入力T
set 品名コード=@hinmeino
where 品名入力ID=@hinmeiid
end
if @@ERROR <> 0
begin
RAISERROR('更新時エラー発生',16,1)
ROLLBACK TRANSACTION
end
--入数を更新
else if @nyuryoku=convert(datetime,'1900/01/01') and @hinmeino=0
--入数の変更
begin
update 品名入力T
set 入数=@irisu
where 品名入力ID=@hinmeiid
--入数の変更に伴って合計金額も変更
update 店舗入力T
set 合計金額= case 数量
when 0 then 個数 * 価格 * @irisu
else 数量 * 価格
end
from 品名入力T inner join 店舗入力T on 品名入力T.品名入力ID=店舗入力T.品名
入力ID
end
if @@ERROR <> 0
begin
RAISERROR('更新時エラー発生',16,1)
ROLLBACK TRANSACTION
end
RETURN
============================================================================
==
プログラム自体おかしいかもしれませんがよろしくお願いします。
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|