본문으로 바로가기
VBA 연속폼 선택줄 하이라이트 효과 - 바보처럼코딩하기

VBA 연속폼 선택줄 하이라이트 효과

반응형

 

 

https://www.youtube.com/watch?v=ggZGms3RxMs 

연속폼상에서 선택한 줄이 어떤 줄인지 보여주는 효과 입니다.

 

 

일반적으로 연속폼(continuous form)에서는 조건부 서식(conditional formatting)을 사용해서 서식을 특정짓는데,

이놈으로 서식을 지정하면~ 연속폼상에서는 Coloumn 전체가 동일하게 적용되지요.

제가 하려고 하는건, 연속폼상에서 데이터를 선택했을때,

1) 어떤 ROW인지 그 정보를 눈에 잘 보여주는것

2) 부가적으로 그 정보를 어떻게 가져올 것인가?

입니다.

정보 가져와서 사용하는 방법은 다양하니... 1)에 포커스를 맞추고 시작하겠습니다.

간단하게 작성가능하니 파일 업로드는 스킵할거에요~ 대신 만드실 수 있게 글을 써볼게요.

우선 테이블을 작성할게요.

간간하쥬? 숫자는 long 형식입니다.

대충 데이터를 넣습니다.

빈 폼을 하나 열고

기본 보기를 연속폼으로 만들어 줍니다.

이렇게 만들어 줄거구요.

폼 머릿글에는 레이블이고 본문은 텍스트 박스 입니다.

폼의 레코드 원본은 저렇게 쓰셔도 되고. ... 버튼 누르셔서

걍 이렇게 만드셔도 됩니다. 완전 기본형이지요.

이제 각각의 텍스트 박스 설정은 컨트롤 원본이름만 수정해줍니다.

아래 그림을 보시지요. (꼭 이대로 하실 필요는 없는데, 확인차 & 초보 분들을 위해서 세세한 부분까지 작성합니다.)

컨트롤 원본 설정

나머지 SR과 WR도 마찬가지로 위의 컨트롤 원본과 이름 부분을 지정/수정 해줍니다.


그리고 하나 더 해주는데, 레이블을 하나 더 생성해줄거에요.

화살표 보이시나요? WR을 2cm로 줄이고 1cm짜리 레이블을 하나 넣어줄거에요.

(여기서는 보여드리려고 저렇게 만들었으니, 글씨색을 배경색과 같게 만들어야하는데, 과정을 보이기 위해서 글씨 색상은 우선 그냥 보이겠습니다.)

보통은 너비를 0.001cm로 만들어서 구석에 박아놓고 사용하지요.)

* 아마 이것도 꿀팁일 수 있겠네요.

이 레이블 이름은 HL로 만들겠습니다.

캡션은 비우고

이름은 HL로

아래그림을 보시면 눈에는 보이지 않지요? 잘 숨겼습니다. ㅎㅎ

여기까지 대략 이렇게 만들었고, 개인적으로 (새 항목)을 연속폼상에서 바로 넣는걸 좋아하지 않는지라,

저건 없애겠습니다. (개인적으로 바로 입력하는 것보다는 다른 방식으로 레코드를 추가하는게 좋더라구요.)

이제 마음에 평안이 찾아왔네요...


이제 각각의 텍스트 박스에 클릭 이벤트를 넣어줄거에요.

대충, 정보라는 프로시저 하나 만들고 넣어주고

정보를 아래와 같이 만들게요.

 

 

Private Sub 정보()
HL.Caption = ID


Dim ctr As Control
Dim frm As Form
Dim fc As FormatCondition

Set frm = Forms("폼1")
For Each ctr In frm.Controls
    Select Case ctr.ControlType
    Case acTextBox
    ctr.FormatConditions.Delete
    Set fc = ctr.FormatConditions.Add(acExpression, acEqual, "[id] = " & HL.Caption & " ")

    fc.BackColor = RGB(227, 255, 232)

    End Select

Next ctr
End Sub

검색어: formatcondition

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유