[SQL]Accessを使用した更新時に特定のデータだけ「データの競合」が発生する

ACCESS

現象

access_datakyougou

リンクされているSQL Server のデータを更新しようとすると、上記の画面の競合エラーが表示されます。それも特定のデータだけで、他のだれもそのデータを参照すらしていません。

原因

該当するテーブルに bit 列 があり、かつ 該当データが Null であると型の不一致が発生する。そのため、データを変更していないにもかかわらず、「変更した」と誤って判定されている。

解決方法

bit データ型に関する問題を解決するには、以下を実行します。

  • bit型の列において Null を 0 (または1) に置き換える

例) UPDATE T_hoge Set hoge = 0 Where hoge is Null;

  • SQL Server を使用して、デザイン ビューでテーブルを開き、すべてのbit フィールドに規定値 0 (ゼロ) を割り当てる
  • Access データベース (*.mdb) の代わりに、Microsoft Access プロジェクト (*.adp) を使用する
https://support.microsoft.com/ja-jp/kb/280730

コメント

スポンサーリンク
タイトルとURLをコピーしました