0

職場でサポート チケットを追跡するために作成した DB に問題があり、何が問題なのかわかりません。

問題は、私がファイルを人々に提供すると、それぞれが独自の保存されたバージョンのフロント エンドを持っていることです。

作成: 追加されるレコード (Tbl_Tickets) を保持するバックエンド テーブルを作成しました。チケットをログに記録した人物、日付、時刻、およびその他のいくつかに関して、プルされて tbl_tickets に追加される情報を含む追加のファイルを作成しました。これらのバック エンド テーブルは両方とも、私が作成したフロント エンド ファイルにリンクされています。Frm_TicketEntry.

このフォームは「ロックなし」に設定されています-私が読んだことによると、これは変更を書き込むときにのみファイルをロックします。

新しいレコードを追加するボタンがあります。これにより、Tbl_Tickets に新しいエントリが作成され、必須フィールドのデフォルト値が設定され、チケットが保存されます。その後、前のチケットに戻って情報の編集/入力を続行します。「レコードを保存」ボタンもあります - これにより、新しく編集された情報がフォームに保存され、すべてが更新されます - これにより、テーブル内の前の 5 つのチケットを示すサブフォーム / レポートが更新されます。

ここで、エラーがポップアップしたときの「デバッグ」から、通常、レコード保存コマンド DoCmd.RunCommand acCmdSaveRecord を「新しいレコード」サブまたは「保存」サブの一部として実行しようとすると、問題が発生することがわかります。バックエンドを確認すると、完全にロックされていることがわかります。

私はすべてのコードを提供できます-しかし、ファイル自体を提供することは問題になります-仕事関連のファイルなどを提供することに関する仕事の規制のため:/

私はこれで私の実行の終わりにいます。これらの問題を解決できない場合は、このプロジェクトを他の人に放棄する必要があります。

4

1 に答える 1

0

明らかに、そうは思わなくても、何らかの形でコードまたはオブジェクトがテーブルをロックします。

次の方法とコードを使用して、保存コードを置き換えることができます。

Access での同時更新の競合をサイレント モードで処理する

またはここで:

完全な URL

考えられるすべての競合シナリオを解決するわけではありませんが、少なくとも、意図したとおりに動作しない場所やタイミングを示すことができます。

GitHub のコード: VBA.ConcurrencyUpdates

于 2016-06-27T08:40:00.150 に答える