2013-08-22 5 views
1

Access 2013에서 양식을 만들고 각 레코드에 대해 4 개의 필드를 인쇄합니다.MS ACCESS 다중 레코드 가시성 If 문

그래서 그것을 인쇄 할 양식이 개 기록을 처리한다고 가정 해 봅시다 : 그것은 테이블에서 다른 설명을 인쇄하는 다른 표시 할 때

Field 1 Field 2 Field 3 Field 4 
Field 1 Field 2 Field 3 Field 4 

지금 나는 그것을 갖고 싶어. 이렇게하려면 DefectType 필드를 보이지 않게하고 기타 필드를 표시되게하십시오. 나는 보이지 않는 기타와 보이지 않는 결함으로 시작하여 서로 위에 놓습니다. 여기에 VBA는 다음과 같습니다

If DefectType <> "Other" Then 
DefectType.Visible = True 
Other.Visible = False 
Else 
DefectType.Visible = False 
Other.Visible = True 
End If 

그들은 모두 다른 경우 그것은 잘 작동하기 때문에 그것이 다른의 첫 번째 레코드 값을 받아 해당 필드의 다른 모든 기록에 적용하는 일.

첫 번째 레코드의 필드가 3이고 값이 Other 인 경우 "other"필드 아래에있는 테이블의 값을 찾고 내용을 표시합니다. 그래서 "다른"내용이 라미네이션이라고합니다. 기타를 표시하는 대신 DefectType 필드를 보이지 않게하고 라미네이션을 표시하는 "기타"필드를 표시합니다.
문제는 나머지 레코드에 대해이 작업을 수행한다는 것입니다. 필드 3이 "기타"인지 아닌지를 테스트하지는 않을 것이며, 다음 레코드에 대해 "기타"필드 컨텐츠를 가정 한 다음 넣을 것입니다. 즉, 일부는 실제로 이미 부식과 같은 값을 가지고 있기 때문에 "기타"필드에는 아무것도 표시되지 않으므로 빈 상자가 표시됩니다.

필드에 "기타"가 있는지 여부를 알 수 있도록 표시되는대로 각 필드 3을 테스트하고 싶습니다.

답변

1

은 내가 당신의 질문을 이해 얼마나 잘 확실 해요,하지만 당신의 양식이 텍스트 DefectType라는 이름의 상자와 다른가 포함되어 있는지 나에게 소리. DefectType의 값이 "기타"이면 기타 텍스트 상자의 값을 표시하려고합니다. 그러나 DefectType의 값이 다른 경우, DefectType의 값을 표시하려고합니다.

올바른 경우 txtSummary이라는 새 텍스트 상자를 만들고이를 컨트롤 소스 속성으로 사용할 수 있습니다.

=IIf([DefectType] = "Other", [Other], [DefectType]) 

txtSummary 텍스트 상자

는 편집 할 수 없습니다. 값을 변경하려면 DefectType 및/또는 기타 값을으로 변경하십시오.

그 접근 방식은 txtSummary 항상 DefectType와 같은 레코드 다른의 현재 값을 기반으로 업데이트 된되도록해야합니다. 양식이 Continuous Form 또는 DataSheet View에있는 경우를 포함하여 양식의 각 레코드에 대해이 작업을 수행합니다.

원래 접근 방식은 양식이 단일 폼보기 인 경우에만 원하는 것이라고 생각합니다.

+0

야! 고마워. – user2707827