2016-07-02 4 views
1

サブフォームを含むアンバウンドフォームがあります。 サブフォームはバインドされておらず、メインフォーム上のプッシュボタンをクリックするとサブフォームが生成されます。MS-Access 2007 - クリックイベントのサブフォーム列データにプログラム的にアクセスする方法

サブフォームでもクリックを文法的に処理し、特定の列にデータを取得したいと考えています。どうやってやるの?私が何を意味するのか知っていれば、VB.NET/C#.NETでも同じことが起こります。

サブフォームのプロパティタブを使用すると、式ビルダーが取得されます。それはサブ/関数/フォームまたはモジュールのVBAコードエディタに私を得ることはありません。

何か助けていただければ幸いです。

- 何かうまくいった! 私は以下の回答から助けてくれてありがとう。ことである。このアプローチで

ME!Sales.Form!SalesmanID 

Additional Reference here...

問題

Me!ChildFormName.Form!ColumnNameInSubForm 

EX:サブフォームで選択した行のカラムを参照する 一つの方法は、この式を使用することによるものです利用可能なイベントの入力時および終了時に、「クリック」イベントのように動作しません。いずれかがトリガされるためには、(別のコントロールをクリックすることによって)サブフォームからフォーカスする必要があります。

答えて

1

もう一度見てください。 PropertiesシートにはEventsというタブがあります。任意のイベントを選択し、ドロップダウンから "Event Procedure"を選択し、省略記号をクリックすると、コードエディタが開きます。

+0

ありがとうございました。はい、テキスト[イベントプロシージャ]があります。そこに任意の名前を入力してコードに行くと、コードにイベントハンドラが作成されません。あなたがコードで作成されたイベントハンドラを取得できるように私は何を提案しますか? (C#/ VBのような)?どうも。 – NoChance

+1

テキストを入力しません。省略記号をクリックして、入力したイベントハンドラにアクセスします。サブファンクションの名前は、コントロールの名前に従います。 – Gustav

+0

はい、あなたは正しいです。私はハンドラを作成した:) - どのように私は選択した行のデータにアクセスできますか?申し訳ありません、あなたに多くの質問をしてください! – NoChance

1

サブフォームコントロールフォームメインフォームのイベントハンドラ(VBAサブ)を参照してください。

Me!Subform1.Form!ControlName 

Meは、メインフォームに自己参照であるSubform1は、サブフォームを含む制御され、Formでありますサブフォームへの参照、およびControlNameは、サブフォーム上のフィールドへの参照です。 !は、フォームのcontrlsコレクション内のコントロールを参照する短い方法です。上記を書き込む
長く方法は次のようになり:Me.contrls("Subform1").Form.Contrls("ControlName")

サブフォームのイベントハンドラ(VBAサブ)を形成する主フォームコントロールを参照してください。

Me.Parent!ControlName 

Meサブへの自己参照であります-form、Parentはメインフォームへの参照、ControlNameはメインフォームのフィールドへの参照です。
上記を書くには、より長い方法があります:Me.Parent.Contrls("ControlName")

this linkのトピックをもっとご覧ください。

+0

ご協力ありがとうございます。サブフォームから選択した行の列にアクセスする必要があります。私が私に挑戦するとき!SubformName.RecordSource私は "オブジェクトはプロパティをサポートしていません"を得る!また、ME!SubformName.Valueを使用すると、Valueはプロパティではないので機能しません。 – NoChance

+0

'ME!SubformName.Form.RecordSource'を試してください。 'ME!SubformName'はメインフォーム上のコントロールで、' ME!SubformName.Form'は実際のサブフォームへの参照です。 – marlan

+1

素晴らしい!これは別の方法ではなく、まさにこの方法です: 'Me!Subform1.Form!ControlName'。 'Subform1'は' ChildFormName'と呼ばれ、 'ControlName'は' ColumnNameInSubForm'です。) – marlan

関連する問題