2017-12-21 42 views
2

런타임 정의 다중 페이지가있는 사용자 양식이 있습니다. 시작시, 다중 페이지는 다수의 페이지를 채우고 각 페이지는 각각의 텍스트 상자를 채 웁니다.다중 페이지 내 텍스트 상자의 주소에 액세스

Example of the multipage defined during runtime.

문제는 런타임 중에, 사용자가 순서를 변경, 삭제, 추가하고이 페이지의 이름을 바꿀 수 있다고되어 있습니다. 마지막으로, 텍스트 상자를 포함하여 다중 페이지의 각 페이지에서 모든 데이터를 호출해야합니다. 즉, Me.Controls에서는 항목 번호가 뒤죽박죽이되어 유용하지 않습니다.

그러나, 다중 페이지의 각 페이지에는 하나의 항목 (텍스트 상자) 만있는 추가 컨트롤 집합이 있습니다. 이것은 '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 

왜 컨트롤의 두 번째 계층을 호출 할 수 없습니까? 이 없이는 사용자가 다시 주문할 때 각 텍스트 상자의 이름을 관리하기 위해 막대한 양의 코드를 작성해야합니다.

미리 감사드립니다.

답변

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