質問

私はいくつかのバウンド連続スタイルのサブフォームを結合させた「メイン」フォームを使用するMicrosoft Access 2003のADPを、持っています。彼らはすべてのヘルパークラスを経由して切断されたレコードを利用しています。

複数のユーザーが同じ奇妙な行動に気づいた:彼らは連続サブフォーム内のレコードは、彼らは(レコードへの編集をコミット)レコードを残して/編集を追加し、彼らは、彼らはコンピュータ(Ctrl + Alt + Del)をアンロックロックコンピュータ、彼らはそれがちらつく、約5秒後に、フォームに戻って、編集前の状態に戻ります。

私はこれが切断されたレコードセットにバインドされた私の形の変化を、作った後、さらに、上記の手順を以下に再現することができました、私は、SQL Serverに行って、値を変更しました。ロック/アンロックコンピュータのルーチンの後、フォームのちらつきや更新され、私はSQL Serverで入力された新しい値が表示されます。

約5秒後に、私の切断されたレコードは、(それ自身の上で)再接続し、レコードセットを再クエリされたかのように

それはです。

私はここで多くの情報を与えていないよ実現、誰でも切断されたレコードを再接続し、再クエリで問題が発生しましたか?あるいは、少なくとも私はデバッグを開始する可能性がどこのアイデアがありますか?

私は、誰かが自分の環境でこれを再作成したい場合は、データベースを作成するためのADPおよびSQLスクリプトを持っています。

ここで私は切断されたレコードを作成しています方法は次のとおりです。

Dim cnn                 As ADODB.Connection
Dim stmTest             As ADODB.Stream

Set cnn = New ADODB.Connection
cnn.Open Application.CurrentProject.AccessConnection.ConnectionString

' Create recordset and disconnect it.
Set mrsTest = New ADODB.Recordset
mrsTest.CursorLocation = adUseClient
mrsTest.Open "SELECT * FROM [tblChild] WHERE ParentID = 1" _
    , cnn _
    , adOpenStatic, adLockBatchOptimistic
Set mrsTest.ActiveConnection = Nothing

cnn.Close
Set cnn = Nothing

' Copy recordset to stream in memory.
Set stmTest = New ADODB.Stream
stmTest.Open
mrsTest.Save stmTest, adPersistADTG

' Bind form to disconnected recordset.
Set Me.Recordset = mrsTest

' Open a copy of the recordset from the stream.
Set mrsTest = New ADODB.Recordset
stmTest.Position = 0
mrsTest.Open stmTest
役に立ちましたか?

解決

  

私はせずに処理(保存とキャンセルボタン)のような取引を望んでいました   テーブルは私の複数ユーザシステムで、ロックされています。連続の場合   仕事へのアクセスのフォーム、彼らはレコードセットにバインドする必要があります。

あなたはこの効果を達成するために一時テーブルにバインドされたフォーム/サブフォームを使用することができます。

http://www.access-programmers.co。英国/フォーラム/ showthread.php?トン= 206862

スティーブ

他のヒント

おそらく少しofftopicが、これは興味深いコードです。私はこのようなデータセットでの作業について考えたことがありません。あなたはこれらの「切断データセット」を使用して特別な理由はありますか?

私もしばらく前に同じコードで実験と同じ経験をしました。

レコードセットがサーバーに再接続する理由

ここで私が見る方法だ...

あなたが(レコードを結合した後に)フォームのレコードソースをチェックする場合は、値としてそこに置かれ、あなたのSQL文が表示されます。それはADPですので、あなたのフォームは、常にサーバーにバインドされています。フォームがリフレッシュ場合したがって、レコードも更新します。

あなたはこの解決策を見つけた場合は投稿してください!

ありがとうございます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top