2010-01-30 5 views
0

제목에 대해 용서해주세요. 나는 이것이 무엇이라고 불리는 지 전혀 모른다.모듈에서 컨트롤을 참조하는 방법은 무엇입니까?

값이 1, 2, 3, 4 또는 5 인 Period 필드가있는 MS Access 데이터베이스가 있습니다. 데이터베이스 연결을 사용하여이 값을 검색하고이를 기반으로 특정 컨트롤을 참조하고 싶습니다. 데이터베이스에서 어떤 기간을 얻었습니까?

의사 코드는 여기에 있습니다.

TextBox(dr(3)).Text = dr(0) 

dr(3)

는 기간을 포함하고, DR (0) 내가 텍스트 상자에 넣고 싶은 콘텐츠가 포함되어 있습니다. 내 양식에 다음 텍스트 상자가 있습니다 : TextBox1, TextBox2, TextBox3, TextBox4TextBox5.

따라서 dr(3)2이 포함 된 경우 TextBox2을 참조하고 싶습니다.

나는 분명히 도와 주었으면 좋겠습니다. 도움을 주시면 감사하겠습니다. 감사합니다. :)

답변

0

텍스트 상자가 동일한 컨트롤 (즉, 동일한 부모 개체를 가짐)에 있다고 가정합니다. 당신은 사용할 수 있습니다

Dim txtbox as TextBox = CType(parentControl.FindControl("TextBox" & dr(3).ToString()), TextBox) 
txtBox.Text = dr(0) 

편집 : 그룹 상자

For each ctrl as Control in myGB.Controls 
    If ctrl.ID = "TextBox" & dr(3).ToString() Then 
     CType(ctrl, TextBox).Text = dr(0) 
     'EDIT: add exit to stop iteration once the textbox is found 
     Exit For 
    End If 
Next 
+0

모두 GroupBox에 그룹화되어 있습니다. 이제이 내용을 알려 드리겠습니다. D – James

+0

이 코드를 사용한 후 : CType (Main.gridHolder.FindControl', 나는 erorr :' 'FindControl'은 'System.Windows.Forms.GroupBox'의 멤버가 아닙니다. 전체 양식에서 찾을 수 있습니까? 동일한 종류의 텍스트 상자가 더 이상 존재하지 않을 것입니다. – James

+0

편집을 확인하십시오. –

0

를 들어 내가 VBA 녹슨 조금 해요하지만 당신은 아마 컨트롤 배열을 사용하고 싶습니다. 컨트롤이 컨트롤 배열로 설정되면 dr (3)을 사용하여 해당 배열을 인덱싱 할 수 있습니다.

관련 문제