• ベストアンサー

ACCESS2003 タブコントロール ページ名

こんにちは。 ACCESSでタブコントロールを設置して、5ページ作成します。 それぞれのページ内でサブフォームを設置します。 そのサブフォーム内にテキストボックスを設置し、そこに入力された文字が、 ページ名になるようにしたいのですが、可能でしょうか? 可能であれば、その式を教えていただけますでしょうか。 ご回答よろしくお願いします。

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

  • ベストアンサー
回答No.3

サブフォーム内のテキストボックス「テキスト0」 サブフォーム内のコマンドボタン「コマンド2」 として、下記のコードでどうでしょう。 Private Sub コマンド2_Click()   Me.Parent.ActiveControl.Parent.Caption = Nz(Me.テキスト0) End Sub

chocho777
質問者

お礼

できました!ありがとうございます!! わかりやすい補足もありがとうございました。

その他の回答 (3)

回答No.4

  Me.Parent.ActiveControl.Parent.Caption = Nz(Me.テキスト0) 上記コードを解説しますと、 Meは自分自身、つまり、サブフォーム。 Me.Parent でサブフォームの親、つまり、メインフォーム。 Me.Parent.ActiveControl でメインフォーム上のフォーカスのあるコントロール、つまり、サブフォームコントロール。 Me.Parent.ActiveControl.Parent でサブフォームコントロールの親、つまり、サブフォームの配置してあるページ。 Me.Parent.ActiveControl.Parent.Caption でそのページの標題。 ということになります。 Nz関数を使用しているのは、テキスト0 が未入力(Null)のとき、エラーになるのを防ぐためです。

  • seastar3
  • ベストアンサー率69% (99/142)
回答No.2

>「コマンド1」というのは、サブフォーム内のテキストボックスのことでよろしいでしょうか。  サブフォーム内に置くコマンドボタンです。 >「ページ1」というのは、タブコントロールで作成したページの名前でよろしいでしょうか。  そうです。オブジェクト名のページのnameが"ページ1"で、書き換えるタブの表題captionを 書き換えるコードを示しました。 >「タブ名テキスト1」というのが、どれをさすのか分かりません。  これがサブフォーム内に置くテキストボックスです。

  • seastar3
  • ベストアンサー率69% (99/142)
回答No.1

ちょっと試してみたら、以下のコードでページ1の表題が変わりました。 Private Sub コマンド1_Click() ページ1.Controls("タブ名テキスト1").SetFocus ページ1.Caption = ページ1.Controls("タブ名テキスト1").Text End Sub

chocho777
質問者

補足

早速のご回答ありがとうございます! 初心者なので、もう少し詳しく教えていただきたいのですが、 ●「コマンド1」というのは、サブフォーム内のテキストボックスのことでよろしいでしょうか。 ●「ページ1」というのは、タブコントロールで作成したページの名前でよろしいでしょうか。 ●「タブ名テキスト1」というのが、どれをさすのか分かりません。 お手数ですが、ご教示お願いいたします。

関連するQ&A

専門家に質問してみよう