2012-08-24 2 views
2

최대 100 개의 열을 포함하는 하위 폼이 있지만 한 번에 5 개만 볼 수 있습니다. 필자가 볼 필요가있는 열은 항상 성 및 성 및 기본 양식 (HT001, HT002 등과 같은 레이블이있는 열)을 기반으로 한 세 개의 다른 열이 있습니다. 사용할 수있는 세 개의 콤보 상자 각각에 대해 하나의 열. 나는 해결책 사방을 보면서액세스시 콤보 상자를 기반으로 여러 열 숨기기/표시

나를 찾는 유지했다! [mycontrol] .columnhidden = 거짓 나는 그것이 하나 또는 두 개의 열에 대한 작동하지만 내 코드 rediculously 긴 각각의 경우에 할 필요가 얼마나 볼 수 있습니다

열이 필요합니다. 엄청난 양의 컬럼 외에도 12 가지의 하위 폼이 있는데, 이들은 선택된 케이스 프로 시저를 사용하여 선택됩니다. 저는 VBA를 배우면서 여전히 간단한 해결책을 찾고 있습니다.

답변

0

데이터 시트를 사용하는 경우 선택한 내용에 따라 동적으로 레코드 소스를 설정할 수 있습니다. 당신의 SQL을 구축 할 때

Me.RecordSource = "SELECT HT001, HT002 FROM MyTable" 

당신은 콤보 상자를 참조 할 수 있습니다 :

Me.RecordSource = "SELECT HT001, " & Me.Combo1 & " FROM MyTable" 

일부 메모를 테이블에서 필드 목록과 목록 상자를 사용하여.

당신은 필드 목록에 행 원본 유형 및 테이블의 이름으로 행 원본 설정할 수 있습니다

RowSource: Table1 
RowSourceType: Field List 

여러 필드를 선택하기 위해, 다중 선택 속성을 설정하는 것이 중요하다 :

MultiSelect : Simple 

당신은 코드에서 선택한 항목을 반복하고 SQL에서 사용되는 필드 목록을 구축 할 수 있습니다 :

For Each itm In Me.List0.ItemsSelected 
    strSelect = strSelect & "," & Me.List0.Column(0, itm) 
Next 

strSelect = Mid(strSelect, 2) 
sSQL = "SELECT " & strSelect & " FROM Table1" 
+0

답을 고맙게 생각해 주셔서 감사합니다. 어떻게 작동하는지 알 수 있지만 콤보 상자에서 열 코드를 가져올 수 있습니까? –

+0

메모를 추가했지만 다중 선택 목록 상자를 고려해 볼 수도 있습니다. 필요한 경우 추가 정보를 추가 할 수 있습니다. – Fionnuala

+0

고맙습니다. 너는 나에게 많은 수색과 좌절을 구해 주었다. –

관련 문제