0

次のようなレコード ソースを持つサブフォームがデータシート ビューに表示されています。

    SELECT MyTable.*, myFunction(MyTable.id) as my_result FROM MyTable

myFunction()は、MySQL ストアド プロシージャを呼び出す vba 関数です。

問題は、myFunction()あまりにも頻繁に呼び出されることです。たとえば、レコードが変更されていない場合でも、フォーカスが同じレコード内の列から列に移動するたびに呼び出されます。これが起こらないようにする方法はありますか?

4

2 に答える 2

0

リンクされたフィールドにフォーカスが移ると、フィールドの値が更新されます。あなたの質問に対する「単純な」解決策はありません。

ただし、アクセス データベースに変更を加えることができる場合は、次のことが可能です。 - 「myFunction()」の結果を MyTable のフィールドに入力するプロセスを作成します。サブフォームの現在のレコードの変更

または、次のことができます: - 切り離されていないフィールドをサブフォームに追加します - サブフォームで現在のレコードが変更されるたびに、"myFunction()" 呼び出しの結果をコードで挿入します

于 2011-05-28T15:59:03.157 に答える
0

MyFunction() は、SQL ステートメントではなく、プレゼンテーション層で呼び出す必要があるようです。たとえば、データを表示するために使用しているフォーム上のコントロールの ControlSource として呼び出します。

于 2011-05-28T20:56:57.657 に答える