• ベストアンサー

Access+VB 子フォームから親フォームを・・・

親フォームの中にタブを置き、その中にサブフォームを置いています。 子フォーム側から、上記のサブフォームの追加許可を「はい」にしたいのですが、どのように記述したらよろしいのでしょうか? Forms("親フォーム名").[サブフォーム名].AllowAdditions = True  これで通りませんでした。 教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>親フォームの中にタブを置き、その中にサブフォームを置いています >子フォーム側から上記のサブフォーム・・ 子フォーム=サブフォーム?ではないのですか? サブフォーム自分自身の制御は Me.サブフォーム名.Form.AllowAdditions = True か Me.AllowAdditions = True でできませんか。 サブフォーム自分自身の制御でない場合 Forms!フォーム名!サブフォーム名.Form.AllowAdditions = True で出来ます。

situmonnsya
質問者

お礼

>Forms!フォーム名!サブフォーム名.Form.AllowAdditions = True で出来ました。 いろいろな、通し方があるみたいでよく理解できませんでした。 ありがとうございます。

関連するQ&A

  • 親フォームとサブフォームでの値の渡し方

    入力フォームに部門名(textbox)を入れる項目があります。 部門名を入れるには参照ボタンを押してサブフォームを開きます。 サブフォームにはDBから引っ張ってきた部門一覧が表示されます。 このなかから該当する部門を選び「選択」ボタンを押します。 ここで、親フォームの部門名(text)に値を設定する方法として javascriptを使用し下記のように記述しています。 window.opener.document.forms[0].bumon.value=選択した部門名; 問題なのが、もし親フォームでメニューに戻ってしまっていて サブフォームの「選択」ボタンを押されたときです。 当然、親フォームには部門名(textbox)がないのでスクリプトエラーに なります。 親フォームに「部門名(textbox)」が存在するかどうかチェック、又は スクリプトエラーがでないようにする方法はありますでしょうか? WEBではポップアップはあまり開かない方が良いと聞きますが 仕様なのでこの実装できくしかありません。

  • VB2008で親フォームから子フォームを開いたときの処理で

    VB2008で親フォームから子フォームを開いたときの処理で 質問させて頂きます。 親フォームから子フォームを開いて、 子フォーム画面ロード時に、TreeViewにノードを追加する処理を行おうとするのですが、 ノードの追加ができません。 親フォームから子フォームの呼び出しの部分 Using frmAct As New form2 frmAct.ShowDialog() end using 子フォームLoad処理 Private Sub F_Actresult_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call MP_hogeload() ←別のモジュールからサブルーチンを呼び出してノード処理を追加させる。 End Sub 外部サブルーチン Public Sub MP_hogeload() With form2 .trehoge.Nodes.Add("hoge") end with end sub 同じ子フォーム内に記述している場合は問題なく追加できています。 この開き方の場合、別のモジュールでノードを追加させる方法を探しています。 よろしくお願いいたします。

  • VBで子フォーム以外をマウスダウンすると子フォームが閉じる

    Visual BASICで Mainフォームからある操作をしたときに、子フォーム(グリッド)を 「子フォーム名.show」 の命令で表示させています。 その子フォームを閉じたくないのに、Mainフォームをマウスでクリックすると子フォームが閉じてしまいます。 べつに、Mainフォームのマウスダウンイベントで子フォームを閉じる命令は記述していないのですが。 また、「子フォーム名.show」と「子フォーム名.visual=true」とではなにが違うのですか? 分かる方がおられましたが教えてください。

  • サブフォームから親フォーム制御に関して質問です。

    始めまして、正暉といいます。 いつも有益な情報頂いております。 私が困っているのは親フォームから新しいサブフォームを開き、 親フォームのSelectのOptionメンバーをサブフォームから追加したいですが。 テキストボックスのValue等は上手く変えられるし、 Selectの既にあるOptionを変更するのは問題なく動きました。 下記の場合はOptionオブジェクトを新しくSelectに追加する際にエラーが発生しています。 下記の内容はサブフォームの追加ボタンを押した時のサブフォームにあるJavaScriptの一部です。 <Script Language="JavaScript"> /* サブフォームから親フォームのSelectにOption追加 */ function AddOptions(){ var f = window.opener.document.forms[0]; /* 親フォームの宣言 */ var Kname = "TEST"; /* 追加項目の宣言 */ var reg = "True"; /* 追加許可 */ if (reg != ""){ /* 親フォームのSelectのOption数 */ var cnt = f.selectA.options.length; /* 親フォームのSelectにOption追加 */ f.selectA.options[cnt] = new Option(Kname,Kname); /* ←ここでエラーが発生しています。*/ /* 親フォームのSelectの表示数 */ f.selectA.length = cnt+1; } } </Script> エラーメッセージ: ランタイムエラー サーバーに例外が発生しました。 デバッグしてみましたその時のエラーメッセージ: 認識できない例外の種類の例外はハンドルできません。 えらメッセージを何度も振り返すとMicrosoftのエラー報告をする画面が出てきます。 全然聞いたことも見たことも無いエラーなので困っています。 エラーの理由がおわかりの方は是非教えていただきたいですが。 よろしくお願いします。

  • 単票フォームにあるタブのサブフォーム

    Access2013 vba 単票フォームFormAがあり、そこにタブTabBを配置します。 そのタブの中に、サブフォームフレームSubFmFrameを配置 このフレームの中に、サブフォーム SubFormがあるとします。 その時、サブフォームのイベントで何かの処理をスル場合に、自分のフォームのフィールドの値を取得するのには、親フォームから参照したやり方をしなくてはいけないのでしょうか。 その場合の書き方がわかりません。 サブフォームから、Set objP = Me.Parent としても、エラーになります。 親フォーム:FormA タブ:TabB サブフォームフレーム:SubFmFrame サブフォーム名:SubForm 宜しくお願いします。

  • Access+VB サブフォーム(再度)

    表形式フォームで出来上がったものがあります。 Form_Openイベントには、DoCmd.FindRecordで検索をかけてます。 次に、新しくフォームを作りそれにタブコントロールを置き、その中に出来上がってある表形式フォームを置きました。 単体ではDoCmd.FindRecord検索かかってましたが、新しいフォームのサブフォームにするとできません。 そもそも、コントロールになりさがった、サブフォームにForm_Openイベントはあるんでしょうか? Form_GotFocusイベント(サブ側)は働かなくなってるし、サブフォームのイベントプロパテイにはフォーカスの取得時と喪失時しかありません。 メインから、サブフォームがOPENした時に検索かけるにはどうしたらよいでしょう?

  • タブコントロールを含んだフォームのスクロール位置

    フォームの中にタブコントロールを入れ、その中にさらにフォームを入れ込んであります。 タブをクリックすると、タブ内のフォームの中のサブフォームにフォーカスが行ってしまうので メインフォームの中にある「見積番号」のフィールドにフォーカスが行くように 下記のVBAを書いてみたのですが、うまくフォーカスが行きません。 何が原因なのでしょうか。 ---------------------------- Private Sub パターン1_Click() Forms!F_C_1_☆新規作成_パターン.SetFocus Forms!F_C_1_☆新規作成_パターン!見積番号.SetFocus End Sub

  • C# 親フォームと子フォームのデータのついて

    こんにちは、 今開発して内容は親フォームからチェックしたリストを子フォームのdatagridviewに自動的に追加したり、 チェックを外したら、子フォームのdatagridviewから登録した項目を削除すること作成しています。 親フォームからチェックした項目(データ)を子フォームの関数に渡しているのですが、子フォームのdatagridviewの更新がしなくて、データも反映されていない状況です。 どうすれば良いでしょうか。ご存知でしたら、教えてください。 どうぞよろしくお願いします。

  • 子フォームから親フォームのオブジェクトを参照したい。

    こんばんわ。 いまVB.Net2005でプログラミングしている者です。 子フォームから親フォームのオブジェクトを参照したいのですが, うまくいきません。 親フォームにListBox1を置き, ここに入力された内容を 子フォームで下記のように参照しようとしました。 Dim 子フォーム As New 子フォーム Label1.Text = 親フォーム.ListBox1.SelectIndex としたのですが, 親フォームでListBox1に0以外のリストを選択したのに, 子側に来ると親フォーム.ListBox1.SelectIndexの値が 0になってしまい,親側での選択内容が反映されません。 どうすれば正しく参照できるでしょうか? 教えてください。よろしくお願いします。

  • サブフォームにフィルタをかけたい

    サブフォームにフィルタをかけたいのですが エラーになってしまいます。 下記がエラー内容です。 ---------------------------------------------------------- 実行時エラー 438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。 ---------------------------------------------------------- 細かい概要は テーブル1にフィールドがあり、 レコードには「あああ」と入力されています。 テーブル1がレコードソースとされている「フォーム(2)」をサブフォームとして 親フォーム(フォーム名:フォーム(1))に乗せました。 フォーム(1)を開いた時にフォーム(2)にフィルタをかけたいのですが うまくいきません。 オブジェクト名にカッコを付けているため、 Form_フォーム・・・・ というコードは書けないので ---------------------------------------------------------- Private Sub Form_Open(Cancel As Integer) Forms("フォーム(1)").Controls("フォーム(2)").Form.Filter = "フィールド = '" & "*あ*" & "'" Forms("フォーム(1)").Controls("フォーム(2)").FilterOn = True End Sub ---------------------------------------------------------- としています。 Forms("フォーム(1)").Controls("フォーム(2)").FilterOn = True でエラーになりますが、 この行をなくしたら、フィルタがかかりません。 どうすればサブフォームにフィルタをかける事が出来るのでしょうか? ご教示よろしくお願い致します。

専門家に質問してみよう