0

MS Access 2007、Win732ビット

アクセス時にデータシートビューで開いているクエリにアクセスして、現在のフィールド値と現在のフィールド名を取得する方法はありますか?

クロス集計クエリであり、コントロールを動的に生成して削除する必要があるため、フォームに入れませんが、VBAでフォームコントロールをいじるのは好きではありません。動的列レポートを配置してコントロールにイベントをバインドできることは知っていますが、クエリに直接アクセスできるイベントまたはオブジェクトがあるかどうかを尋ねています。

おそらくレコードセットのクローン?しかし、私はグーグルで何も見つけていません。

もちろんこれはVBAにあります

よろしくお願いします、

4

2 に答える 2

1

要件を回避できる場合があります。クロス集計はサブフォームに含まれています。

Source Object : Query.xtab

クロス集計

2つのテキストボックスのコントロールソースは次のとおりです。

Ctrl   : =[screen].[activecontrol].[name]
Content: =[screen].[activecontrol]

つまり、クロス集計サブフォームでユーザーが選択した列と列の内容が表示されます。ただし、フォーム上で選択された他のコントロールも表示されます。ClickMeは選択されたコントロールを変更しないため、選択された項目はテキストボックスで同じままです。

于 2013-01-24T00:31:20.637 に答える
1

現在のコントロールのインデックスを取得するためのMacDermottのコードを入力することもできるため、xtabクエリサブフォームで選択された現在のコントロールが動的に表示されます。

Public Function ControlIndex(ctl as Control) as long
 Dim i as Integer
  For i=0 to Me.Controls.Count-1
   if me.Controls(i) is ctl then
    ControlIndex=i
   exit for
  end if
  next
 End Function

そして最後に、これは、テキストボックスを最新の状態に保つために、同じレコード内のあるコントロールから別のコントロールに変更するときに役立ちます。

于 2013-01-24T14:19:34.513 に答える