2017-03-22 9 views
0

複数のユーザーがAccessアプリケーションを使用しています。MS Accessが複数のユーザー環境で最新のレコードを取得しない

プログラムとデータは2つのファイルに分割され、プログラムはユーザーのハードディスクに保存され、データファイルはサーバーの共有フォルダに保存されます。

大規模なプログラムは、アクセスが再開されるまで、あるユーザーが別のユーザーによって作成または変更された最新のレコードを取得できないということです。

キャッシュがあるかどうか疑問に思うので、アクセスすると古いデータが得られます。お知らせ下さい。どうもありがとうございました。

query = "SELECT Max([ID])As MaxID FROM Entry" 

Set rs = CurrentDB.OpenRecordset(query) 

If IsNull(rs.Fields("MaxID").Value) Then 
    largestId = 0 
Else 
    largestId = rs.Fields("MaxID").Value 
End If 

答えて

0

はい、アクセスはキャッシュデータを処理します。私はdbOpenSnapshotかの機能が何であるかを知っている可能性があり、

query = "SELECT Max([ID])As MaxID FROM Entry" 
Set rs = CurrentDB.OpenRecordset(query) 
rs.Requery 
largestId = Nz(rs.Fields("MaxID").Value, 0) 
+0

おかげグスタフ:

query = "SELECT Max([ID])As MaxID FROM Entry" Set rs = CurrentDB.OpenRecordset(query, dbOpenSnapshot) largestId = Nz(rs.Fields("MaxID").Value, 0) 

を、および/またはレコードセットを再クエリするために:あなたは(NZをして使用)スナップショットとしてレコードセットを開くしようとすることができその他のオプション。私はMS文書を検索しましたが、依然として正確な内容とオプションの選択方法を完全に理解していません。再度、感謝します。 –

+0

一度にすべてのレコードを読み込みます。 1つのレコードのみで多くのことを意味するべきではありませんが、そのアクセスはレコードセットがいつ開かれるかを知らないため、おそらくデフオルト・ダイナセットとしてオープンされた場合とは異なります。 F1キーを押してコード内の単語を強調表示するだけで、ドキュメントが表示されたWebページが開きます。 – Gustav

+0

スナップショットは編集可能なダイナセットとは対照的に読み込み専用ですが、rsを開いているときに読み込まれているレコードとは何の違いもないと思います – Minty

関連する問題