SQL-Server データの競合でリンクテーブル更新が失敗対応
メモ
リンクテーブルを作成し、Accessでデータ更新を行おうとした場合、「このレコードは他のユーザーによって変更されています。[レコードの保存] を選択すると、他のユーザーによる変更を無視し、自分が行った変更を反映します。 」のようなメッセージが出て、更新が行えない場合がある。
■Access 2000 で、リンクされている SQL Server テーブルのレコードを更新すると、データの競合エラーが発生することがある
http://support.microsoft.com/kb/280730/ja
・原因
Access で Null ビット フィールドが作成されています。これにより、型の不一致が発生します。
または
リンク テーブルで、浮動小数点データ型 (Real) として定義されたフィールドが使用されています。
・対策
BitフィールドのNULL非許容にして規定値が入るようにカラムを変更
で解決した。
ちなみに、テーブルの削除と再作成についての制限がかかっていて、カラムの変更ができない場合がある。
その場合はSQL-ServerManagementツールの
[Tool]-[オプション]
→[デザイナ]-[テーブルデザイナおよびデータベースデザイナ]
→「テーブルの再作成を必要とする変更を保存できないようにする」チェックボックスを解除
リンクテーブルを作成し、Accessでデータ更新を行おうとした場合、「このレコードは他のユーザーによって変更されています。[レコードの保存] を選択すると、他のユーザーによる変更を無視し、自分が行った変更を反映します。 」のようなメッセージが出て、更新が行えない場合がある。
■Access 2000 で、リンクされている SQL Server テーブルのレコードを更新すると、データの競合エラーが発生することがある
http://support.microsoft.com/kb/280730/ja
・原因
Access で Null ビット フィールドが作成されています。これにより、型の不一致が発生します。
または
リンク テーブルで、浮動小数点データ型 (Real) として定義されたフィールドが使用されています。
・対策
BitフィールドのNULL非許容にして規定値が入るようにカラムを変更
で解決した。
ちなみに、テーブルの削除と再作成についての制限がかかっていて、カラムの変更ができない場合がある。
その場合はSQL-ServerManagementツールの
[Tool]-[オプション]
→[デザイナ]-[テーブルデザイナおよびデータベースデザイナ]
→「テーブルの再作成を必要とする変更を保存できないようにする」チェックボックスを解除
この記事へのコメント