1

データシートとして設定されたTFormtable に基づくフォームがあります。T私の目標は、列の値が別の列の値を使用してクエリから計算されるフィルター可能な列をデータシートに追加することです。

currentBoxにテキスト ボックスを追加して、これを実行しようとしましたT。の制御ソースcurrentBoxは次のとおりです。

=DLookUp("name","currentStatus","itemID=" & [ID])

ここ[ID]で、 はフィールドでT、は関連するcurrentStatusテーブルの集計クエリです。T

にあるすべてのフィールドをフィルタリングできTFormますTcurrentBoxしかし、フォームの列としても表示されますが、フィルター処理できません。列ヘッダーをクリックしても何も起こりません。

問題はcurrentBox、のフィールドにバインドされていないことだと思いTます。これを回避する方法はありますか?

4

2 に答える 2

1

VBAソリューションは次のとおりです。

  1. コンボ ボックス (別名ドロップダウン) オブジェクトをフォーム ヘッダーに追加します。このドロップダウンのソースは、Dlookup() が現在取得しているすべての値 (名前?) を表示し、itemID を格納する独立したクエリになります。ObjPickNameこの例ではそれを呼び出しましょう。

  2. AfterUpdateフォームをフィルター処理するイベントを に追加ObjPickNameします (フォームは引き続き に基づいていますT)。コードは次のようになります。

    Private Sub Combo_ObjPickName_AfterUpdate()
    Me.Form.Filter="[itemID]='" & Me.Combo_ObjPickName.Value & "'"
    Me.Form.Filteron=True
    End Sub

于 2013-07-10T20:22:04.873 に答える