2016-09-02 1 views
2

Access 2010에서는 연속 된 양식이 있으며 다른 셀의 값을 기준으로 테두리 색과 같은 '셀'의 특정 속성을 변경하고 싶습니다. VBA에서이 작업을 수행하는 방법을 찾지 못했습니다. VBA에서 속성을 직접 변경하면 모든 레코드에 대해 변경됩니다. 나는 조건부 서식의 일부 형식을 사용해야한다고 가정하지만 조건부 서식 GUI는 배경색, 기본 텍스트 서식 및 Enabled 속성 만 설정할 수 있습니다.연속 서식에서 조건부로 텍스트 상자 테두리의 서식을 지정할 수 있습니까?

특정 레코드에 대해서만 연속 폼의 컨트롤에 다른 속성을 설정하려면 어떻게해야합니까?

답변

1

수 없습니다. 배경 또는 텍스트 색상을 사용하십시오.

도 참조 https://msdn.microsoft.com/en-us/library/office/ff821010.aspx - BackColorForeColor 만 있습니다.

+0

감사합니다. Andre. 누군가가 영리한 해결 방법을 찾았 으면 좋겠다. 텍스트 상자와 모든 종류의 오버레이를 실험했지만 아직 어떤 것도 치지 않았다. – GroovySu

1

어떻게 내가 결국이 문제를 해결했는지 알 수 있습니다. txtFixMax는 펑키 한 경계를주고 싶었던 컨트롤입니다 ([ChangedToday] 필드의 값에 의존). 이미 배경색을 변경하기위한 조건부 서식이 있습니다. 두 번째 컨트롤 txtFixMaxOverlay를 만들어 작은 사각형으로 만들고 컨트롤 txtFixMax 위에 놓았습니다. 테두리를 지우는 txtFixMaxOverlay의 속성을 설정하고 txtFixMax와 동일한 조건부 서식을 지정하여 눈에 보이지 않도록했습니다 (그러나 Visible 속성 = true). 그런 다음 [ChangedToday]를 기준으로 목록의 첫 번째 조건 인 배경색을 변경하여 조건을 추가했습니다.

효과는 테두리가 아니지만 (경계 효과를주기 위해 4 개의 컨트롤을 지루하게 배치 했음에도 불구하고) 시각적으로 변경할 수있는 추가 요소를 제공합니다. 효과는 다음과 같습니다. this

+0

Ack, 내 대답을 수락할까요? O.o – GroovySu

0

예, 기본 제공되는 조건부 서식 기능이 없습니다. 폼 세부 정보 섹션의 페인트 이벤트을 사용하십시오. 여전히 다양한 제한 사항이 있지만 최소한 배경 및 전경색보다 많은 속성을 설정할 수 있습니다.

예 :

Private Sub Detail_Paint() 
    If Me.IndicatorColumn.Value = "Critical" Then 
    Detail.BackColor = RGB(255,0,0) 
    Detail.AlternateBackColor = Detail.BackColor 
    Me.AnotherColumn.BorderStyle = 7 'Dash Dot Dot 
    Me.AnotherColumn.BorderColor = vbMagenta 
    Else 
    Detail.BackColor = vbWhite 
    Detail.AlternateBackColor = RGB(150, 150, 150) 
    Me.AnotherColumn.BorderStyle = 0 'Transparent 
    Me.AnotherColumn.BorderColor = vbWhite 
    End If 
End Sub 

TextBox.BorderStyle를 참조하십시오.

관련 문제