2

このサイトには、私がこれから尋ねようとしていることにかなり近い質問が他にもありますが、私の質問は少し異なります(この問題を正確にカバーする質問が存在することを誰かが知っている場合は、私を案内してください)。

SQL Server 2000(私は思う)がインストールされているWindowsServer2003を使用しています。そのSQLServerには、5つのデータベースがあり、そのうち4つを現在使用しています。現在、Enterprise Managerのコピーがインストールされているラップトップ(win xp pro)もあり、ラップトップを介して(つまり、ネットワークを介して)問題なくSQLデータベースを維持しています。

また、ラップトップにはODBCリンクを備えたAccessの「フロントエンド」があり、Accessのフォームを使用してSQLのテーブルの内容を表示できます。私はこのセットアップに数週間問題がありませんでした(実際にデータベースを作成してから)。

ただし、Accessで発生する問題は、2つのデータベースの情報を変更できるが、他の2つのデータベースの情報は変更できないことです。2つの機能していないユーザーのいずれかに変更を加えようとすると、「書き込みの競合-このレコードは別のユーザーによって変更されました...」というメッセージが表示されますが、私が唯一のユーザーです。SQL Serverログインを使用しています。これは、Accessフロントエンドを開くたびに入力する必要があります。ここで何が起こっているのですか?タイムスタンプフィールドについて何か読んだことがありますが、なぜ実装する必要があるのか​​、実際にどのように実装するのかわかりません。この問題は私を狂わせています!

4

2 に答える 2

2

修正しているテーブルには、機能していない 2 つのデータベースの正しい主キーがありますか? 私が尋ねる理由は、(主キーまたは他の一意のフィールドがないために) 更新している正確なレコードを Access が特定できない場合、「書き込み競合」エラーが発生することが多いためです。あなたが言及したように、この問題が発生したときにもタイムスタンプ フィールドを提案する人がよくいますが、私の経験では、これは SQL Server ではなく、Access と MySQL を扱う場合にのみ役立ちます。

また、使用している Access のバージョン (およびサービス パック) を教えてください。

于 2013-03-07T14:25:10.040 に答える