0

タブ付きのナビゲーションがあります。ユーザーが長いリストから1人のユーザーをダブルクリックするというバインドされたフォームがあります。バインドされていないフォームに移動し、そのユーザーに関する詳細をフォームにプリロードします(ユーザーを編集します)。保存/キャンセルボタンを表示したいので、特にバインドされていないフォームを使用しています。ユーザーのIDをload_form呼び出しに渡す方法が見つかりません。私は何かが足りないのですか?ある種のグローバルを使用する必要がありますか(これは私には悪いようです)?

4

1 に答える 1

2

フォームを開くときに OpenArgs を使用できます。

DoCmd.OpenForm "MyForm", acNormal,,,,,Args

Args が何であれ、"MyForm" で Me.OpenArgs として参照できます。

たとえば、数値の PK を渡す場合は、次のようなものを使用できます。

dim db as dao.database
set db = currentdb
dim rs as dao.recordset
set rs = db.openrecordset ("select * from MyTable where PK=" & me.openargs", dbopendynaset, dbfailonerror)
if rs.eof then
'didn't find record with PK...
else
'then populate the unbound controls on your form with the fields from the recordset
...

保存/キャンセルを提供するためだけにバインドされていないフォームを用意する必要はないことに注意してください。フォームの Before Update イベントのイベント ハンドラーを作成すると、変更をキャンセルしたりコミットしたりできます。

于 2012-12-17T20:13:32.953 に答える