드로우홀릭 더베이직

안녕하세요. 기존에 보내주신 답변에 추가로 실적기준월을 다시 콤보박스로 설정하고 싶어서 했는데,

실적기준월을 설정해서 클릭해 보니 중복된 날짜가 너무 많이 나옵니다. 중복된 날짜없이 표시가 가능한지요?

2017년 1월1일부터~12월까지 한개씩만 콤보박스에 표시가 되면 좋을거 같습니다.

아울러, 실적월을 after update로 중간에 넣어서 표시는 되는데 클릭하면 해당 정보가 바뀌지가 않습니다.

어떻게 설정하면 될런지요? 질문사항을 첨부했사오니 답변 요청드립니다.

감사합니다.


profile

윈드님

2017.03.10 10:16:28
*.149.161.117

1. 중복제거

기존 코딩을 조금 바꿔 보았습니다.

   기존: SELECT  이름표.실적기준월, 실적기준월.실적기준월 FROM 실적기준월 INNER JOIN 이름표 ON 실적기준월.실적기준월 = 이름표.실적기준월;

   변경: SELECT DISTINCT 이름표.실적기준월, 실적기준월.실적기준월 FROM 실적기준월 INNER JOIN 이름표 ON 실적기준월.실적기준월 = 이름표.실적기준월;

   DISTINCT 는 중복을 제거해줍니다.


2. 지역과 실적월로 이름표 검색

아래처럼 지역 과 실적월을 변경 시 이벤트를 잡아서 목록상자의 행 원본(Rowsource)을 동적으로 변경해 줍니다.

Private Sub cboArea_AfterUpdate()

    sbSetlist
    'lstName.Requery
   
End Sub

Private Sub cbomonth_AfterUpdate()
   
    sbSetlist
    'lstName.Requery
End Sub

Private Sub lstName_AfterUpdate()

    Dim rst As DAO.Recordset
   
    Set rst = Me.RecordsetClone
    rst.FindFirst "ID = " & lstName.Value
    Me.Bookmark = rst.Bookmark
   
End Sub

Private Sub sbSetlist()
   
    'cboArea : 지역
    'cboMonth: 실적기준월
   
    '지역에 값이 있을 때
    If Nz(cboArea, "") <> "" Then
   
        If Nz(cbomonth, "") <> "" Then
            '실적기준월에 값이 있을 때
            lstName.RowSource = "SELECT ID, 이름, 부서 FROM 이름표 WHERE 지역= '" & cboArea.Value & "' AND 실적기준월 = #" & cbomonth.Value & "#"
        Else
            '실적기준월에 값이 없을 때
            lstName.RowSource = "SELECT ID, 이름, 부서 FROM 이름표 WHERE 지역= '" & cboArea.Value & "'"
        End If
    End If
   
End Sub


일단 원하시는 부분은 변경 해 보았습니다만,  좀더 다듬을 필요가 있습니다.

Rowsource를 이용해서 지역 선택 시 해당 지역의 실적월만 나오게 한다던가 등이 있으면 좋겠지요.

또는 실적월 선택 시 BETWEEN 구문을 사용하여 이름표 테이블의 실적월 데이터를 조회하여 해당 인원만 나오게 한다던가요.



첨부

hwan

2017.03.10 10:57:46
*.157.37.215

감사합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 FAQ: 어떤 과정을 수강하는 것이 좋을까요? 외 돌직구 2017-08-29 32002
공지 좋은 답변을 이끌어 내는 방법 [1] 돌직구 2017-07-14 28146
공지 액세스 Q/A 게시판 형식을 변경합니다. 돌직구 2014-09-10 23161


  주소  12925 경기도 하남시 미사대로 540, B동 917호 (현대지식산업센터 한강미사2차) ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2021-경기하남-1166 호  [사업자 정보 확인]
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.