나눔터  
  HOME > 나눔터 > 묻고답하기 > 액세스
액세스
액세스에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 드리뭉 (efreecom)

추천:  0
파일:     조회:  539
제목:   Filter에 관한 질문입니다 ..
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

1. 액세스 버전(95,97,2000,2002):2000
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...): 

* 아래줄에 질문을 작성하세요 >> 


Private Sub cmdFormFilter_Click()
    ' 폼필터를 이용
    DoCmd.RunCommand acCmdFilterByForm
    
End Sub

? - acCmdFilterByForm상수의 의미가 뭔가요?

Private Sub cmdFilter_Click()

  m_frmCaller.Filter = Me.txtExpression & ""
  m_frmCaller.FilterOn = True
    
End Sub

? - FilterOn=true는 필터을 가능하게 하는 코드이잖아요?
근데 Filter 는 뭐하는 것인가요? filter = me.txtexpression & ""는 뭘 의미하나요?
그리고 맨 뒤의 & ""는 왜 붙였나요?
 
[불량 게시물 신고]  
초보맨1. acCmdFilterByForm는 폼필터를 말합니다. 위의 구문은 메뉴의 레코드-필터-폼필터를 선택하는 것과 같은 것입니다.
2.Filter = "****"
  FilterOn = True
 위에 필터는 필터를 정의하는 것이고 아래 FilterOn은 필터를 적용하는 것입니다. 그래서 필터를 만들어서 적용할려면 위와 같이 하게 됩니다.

마지막에 빈공백을 붙인이유는 me.txtexpression에 값이 없을수도 있고 또 이렇게되면 에러가 나므로 빈공백을 붙여준 것 같습니다.
10-29 (15:04)
삭제 ■신고
드리뭉그러면 me.txtExpression을 쉽게 생각해서 me.이름이라고 할 경우 이름컨트롤에 입력된 이름의 레코드를 찾는 것인가요?
동일이름이 있을 경우는 같은 이름의 레코드를 모두 찾고 말이죠
한번더 봐주세요...
10-29 (16:07)
삭제 ■신고
초보맨me.이름 이라 하면 이름이라는 컨트롤의 값이  Filter가 되겠죠..... 

근데... Filter = "뭐뭐" 라고 할때 뭐뭐는 Where 절에서 Where를 뺀것과 같은 양식이어야 합니다. 
그러므로 이름 컨트롤의 값으로 이름만 있다면 문장이 성립되지 않아 원하는 결과가 나오지 않습니다.

만약 이름컨트롤에 이름값이 들어있는데 이를 이용하여 필터하고자 한다면 
Me.Filter = "이름='" & Me.이름 & "'"  이렇게 해야 합니다.
10-29 (17:06)
삭제 ■신고
        
  

작성일 : 2004-10-29(13:42)
최종수정일 : 2004-10-29(13:42)