2016-09-09 10 views
1

Accessでフォーム上のタブコントロール内のページを切り替えるためのVBAマクロを作成するにはどうすればよいですか?私はコードがシンプルだと思うだろうが、私は何かを見つけることができませんでした明確または最終オンライン。これらは私が今まで試したコードサンプルです:ボタンを使用してAccess内のタブを切り替える

Private Sub Command5_Click() 
TabControl.Value = (TabCtl0.Value + 1) Mod TabControl.Pages.Count 
End Sub 

Private Sub Command1_Click() 
Me.Tab2.SetFocus 
End Sub 

しかし、私はもっと複雑なものが必要かと思います。ボタンとタブが分離されている画像に示すように、(ボタンがタブ自体にではありません):

Form Navigation Screenshot

答えて

1

あなたがTabCtl0を参照することを意味するときに不注意TabControl呼ばきたようです。

あなたは、単にタブを切り替えていないのはなぜWith..End Withステートメントを使用して簡潔参照

Private Sub Command5_Click() 
    With Me.TabCtl0 
    .Value = (.Value + 1) Mod .Pages.Count 
    End With 
End Sub 
+0

これは、ナビゲーション制御形式であるので、私は意図的にTabControlのそれを命名します。 NavigationButton1と2のタブの名前をそれぞれ変更し、コード(With.Me.NavigationButton1)のNavigationButton1を参照した後でも、.Valueの2番目のインスタンスで "メソッドまたはデータメンバーが見つかりません"という結果が得られます。 – nesco88

0

を作ることができますか?あなたは正しい方向に軌道に乗る必要があります

https://www.youtube.com/watch?v=OtN2DSg-cAU

+0

私はタブコントロールについて知っていますが、ボタンをクリックすると同時に複数のタブ、1つのタブを実行するマクロが必要です。 – nesco88

0

これはいかがですか?

Me.TabControlName.Pages.Item("PageName").SetFocus 
0

あなたはマクロビルダーを使用している場合、あなたはまた、これはかなり古い質問です

0

「を制御するために行く」使用しますが、それにつまずく誰の利益のためにすることができます

あなたが試したものに与える最初の例はうまくいくはずですが、バグがあります。コードはTabControlとTabCtl0の両方を指しています。私はそれがちょうど1つであるべきだと思います。あなたのボタンを仮定

は画像のように、Command9呼ばれ、お使いのタブコントロールがタブコントロールと呼ばれ、次のように動作するはずです:

Private Sub Command9_Click() 
    TabControl.Value = (TabControl.Value + 1) Mod TabControl.Pages.Count 
End Sub 
関連する問題