2017-12-21 9 views
2

私は実行時定義のマルチページを持つユーザーフォームを持っています。起動時に、複数ページにはそれぞれ独自のテキストボックスが付いた多数のページが表示されます。マルチページ内のテキストボックスのアドレスへのアクセス

Example of the multipage defined during runtime.

挑戦は、実行時に、ユーザーは、並べ替え、削除、追加してこれらのページの名前を変更することができています。最後に、テキストボックスを含む複数ページの各ページからすべてのデータを呼び出す必要があります。これは、Me.Controls内で、項目番号が混乱しているので役に立たないことを意味します。

しかし、マルチページの各ページ内には1つのアイテム(テキストボックス)しか持たないコントロールのセットがあります。つまり、 'for'ループでマルチページをスイープすると、 'me'ステートメントと同様に、常に項目1を呼び出すことができます。私は、テキストボックスの値を呼び出すために、コントロールの二束を越えて行くしようとすると、コードが失敗したが

Item1 within controls of each page of the multipage object.

For i = 0 to Last_Page-1 
Example_String = Me.My_MultiPage.Pages.Item(i).Controls.Item(1).Value 
Next i 

なぜこの2番目のコントロールを呼び出すことができないのですか?これがなければ、ユーザーが再注文するたびに各テキストボックスの名前を管理するための膨大な量のコードを書く必要があります。

ありがとうございます!

答えて

0

コレクションには、0から始まるインデックスが使用されます。

For i = 0 to Last_Page-1 
    Example_String = Me.My_MultiPage.Pages.Item(i).Controls.Item(0).Value 
Next i 

.Itemコレクションのデフォルト値はアイテムなので、不要です。

For i = 0 to Last_Page-1 
    Example_String = Me.My_MultiPage.Pages(i).Controls(0).Value 
Next i 
関連する問題