£±.Filter¼Ó¼º
Recordset ¿ÀºêÁ§Æ®ÀÇFilter¼Ó¼ºÀ» ¼³Á¤Çϸé ÁöÁ¤ÇÑ Á¶°ÇÀ» ä¿öÁÖ´Â ·¹Äڵ常À» ÃßÃâÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù£®ÇØ´çµÇ´Â ·¹Äڵ尡 ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡´Â Recordset ¿ÀºêÁ§Æ®ÀÇ RecordCount¼Ó¼º£¨·¹ÄÚµå¼Â¿¡ Æ÷ÇԵǴ ·¹ÄÚµå ¼ö¸¦ Ç¥ÇöÇÏ´Â ¼Ó¼º£©ÀÇ °ªÀÌ 0ÀÌ µÈ´Ù£®
¡¼¼­½Ä¡½recordset.Filter = criteria

recordset:¿­·Á ÀÖ´Â Recordset ¿ÀºêÁ§Æ®
criteria:ÃßÃâ Á¶°ÇÀ» Ç¥ÇöÇÏ´Â ¹®ÀÚ ¿­½Ä
ÃßÃâ Á¶°ÇÀ» Ç¥ÇöÇÏ´Â ¹®ÀÚ ¿­½ÄÀº ÃßÃâ¿¡ »ç¿ëÇÏ´Â Çʵå¿Í ºñ±³ ¿¬»êÀÚ ÃßÃâÇÏ´Â °ªÀ¸·Î ±¸¼ºµÇ´Â ¹®ÀÚ¿­ ½ÄÀÌ´Ù£®ÃßÃâ¿¡ »ç¿ëÇÏ´Â ÇʵåÀÇ µ¥ÀÌÅÍ ÇüÅ¿¡ ÀÇÇØ ÃßÃâÇÏ´Â °ªÀÇ ¼­½ÄÀÌ ´Ù¸£´Ù£®

¡áÃßÃâ Á¶°ÇÀÇ ¼­½Ä
¡¡¡¡¡¡
¡¡ ¡ÜÅØ½ºÆ® ÇüÅÂÀÇ ÇʵåÀÇ °æ¿ì ÃßÃâÇÏ´Â °ªÀ» Single Quation£¨'£©À¸·Î ¹­¾î¾ß ÇÑ´Ù£®
¡¡¡¡ ÃßÃâÇÏ´Â °ªÀ» º¯¼ö·Î ÁöÁ¤ÇÏ´Â °æ¿ì¿¡µµ Single QuationÀÌ ÇÊ¿äÇÏ´Ù£®
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡ £¨¿¹£©¡¡RS£®Filter = "Ŭ·¡½º = 'TA'"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ RS£®Filter = "Ŭ·¡½º¡¡= ' " & ¡¡Str ¡¡& ¡¡"'"


¡¡ ¡Ü¼öÄ¡ÇüÀÇ ÇʵåÀÇ °æ¿ì´Â ÃßÃâÇÏ´Â °ªÀ» ±×´ë·Î ±â¼úÇÑ´Ù£®

¡¡¡¡¡¡¡¡ £¨¿¹£©¡¡RS£®Filter = "Á¡¼ö ¡¡> 80"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ RS£®Filter = "Á¡¼ö ¡¡> "¡¡£¦¡¡Str¡¡


¡¡ ¡Ü³¯Â¥ ½Ã°¢Çü ÇʵåÀÇ °æ¿ì ÃßÃâÇÏ´Â °ªÀ» ˜Þ±âÈ££¨£££©À¸·Î ¹­¾î¾ß ÇÑ´Ù£®ÃßÃâÇÏ´Â °ªÀ» ¡¡¡¡ º¯¼ö·Î ÁöÁ¤ÇÏ´Â °æ¿ìµµ ˜Þ±âÈ£°¡ ÇÊ¿äÇÏ´Ù£®

¡¡¡¡¡¡¡¡ £¨¿¹£©¡¡RS£®Filter = "ÀÔÇÐÀÏ¡¡= #2004/04/01#"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ RS£®Filter = "ÀÔÇÐÀÏ¡¡= ¡¡# "¡¡£¦¡¡Str¡¡& "#"


¡¡ ¡ÜLIKE ¸¦ »ç¿ëÇÑ ¹®ÀåÀº ListName Like '*mit*' ÀÌ´Ù . ÆÐÅÏÀÇ ½ÃÀÛ°ú ³¡¿¡ ¿ÍÀϵå Ä«µå¸¦ ¡¡¡¡ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù£®¶Ç´Â ListName Like 'Smit*' ÀÌ´Ù. ÆÐÅÏÀÇ ³¡¿¡¸¸ »ç¿ë ÇÒ ¼öµµ ÀÖ´Ù£®

£².·¹Äڵ带 ÃßÃâÇÑ´Ù.
¡¼»ç¿ë ¿¹¡½
¡¡¡¡¡¡¡¡Public Sub ÃßÃâ()
 ¡¡¡¡¡¡   Dim CN As ADODB.Connection
 ¡¡¡¡¡¡   Dim RS As ADODB.Recordset
 ¡¡¡¡¡¡   Dim criteria As String
    
  ¡¡¡¡¡¡  'Á¢¼Ó
 ¡¡¡¡¡¡   Set CN = CurrentProject.Connection
    
  ¡¡¡¡¡¡  '·¹ÄÚµå¼ÂÀ» Ãëµæ
  ¡¡¡¡¡¡  Set RS = New ADODB.Recordset
 ¡¡¡¡¡¡   RS.Open "Çлý ¸íºÎ", CN, adOpenKeyset, adLockOptimistic

 ¡¡¡¡¡¡   'ÇÊÅÍ
  ¡¡¡¡¡¡  criteria = "¼º¸í Like 'È«±æµ¿%'"
  ¡¡¡¡¡¡  RS.Filter = criteria
    
   ¡¡¡¡¡¡ If RS.RecordCount = 0 Then
    ¡¡¡¡¡¡  MsgBox ("ÇØ´çµÇ´Â ·¹ÄÚµå´Â ¹ß°ßµÇÁö ¾Ê½À´Ï´Ù")
  ¡¡¡¡¡¡  Else
    ¡¡¡¡¡¡  Do Until RS.EOF
     ¡¡¡¡¡¡   Debug.Print RS!ÇÐÀû ¹øÈ£, RS!¼º¸í
      ¡¡¡¡¡¡  RS.MoveNext
    ¡¡¡¡¡¡  Loop
  ¡¡¡¡¡¡  End If
    
   ¡¡¡¡¡¡ 'Á¾·á
   ¡¡¡¡¡¡ RS.Close:  Set RS = Nothing
   ¡¡¡¡¡¡ CN.Close:  Set CN = Nothing
¡¡¡¡¡¡End Sub

£³.º¹¼öÀÇ Á¶°ÇÀ¸·Î ·¹Äڵ带 ÃßÃâÇÑ´Ù.

º¹¼öÀÇ Á¶°ÇÀ¸·Î ·¹Äڵ带 ÃßÃâÇÒ ¶§¿¡´Â And ¿¬»êÀÚ ¶Ç´Â Or ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÑ´Ù£®And ¿¬»êÀÚ´Â ÁöÁ¤ÇÑ ¸ðµç Á¶°ÇÀ» ä¿öÁÖ´Â ·¹Äڵ带 ÃßÃâÇÒ ¶§¿¡ »ç¿ë. Or ¿¬»êÀÚ ´Â ÁöÁ¤ÇÑ ¸ðµç Á¶°ÇÀÇ ¾î´À °ÍÀ̳ª 1°³¸¦ ä¿öÁÖ´Â ·¹Äڵ带 ÃßÃâÇÒ ¶§¿¡ »ç¿ëÇÑ´Ù£®

¡¼»ç¿ë ¿¹¡½

¡¡¡¡¡¡Public Sub FilterExecute2()
  ¡¡¡¡¡¡  Dim CN As ADODB.Connection
  ¡¡¡¡¡¡  Dim RS As ADODB.Recordset
  ¡¡¡¡¡¡  Dim criteria As String
        
  ¡¡¡¡¡¡  'Á¢¼Ó
 ¡¡¡¡¡¡   Set CN = CurrentProject.Connection
    
  ¡¡¡¡¡¡  '·¹ÄÚµå¼ÂÀ» Ãëµæ
   ¡¡¡¡¡¡ Set RS = New ADODB.Recordset
   ¡¡¡¡¡¡ RS.Open "Çлý ¸íºÎ", CN, adOpenKeyset, adLockOptimistic

   ¡¡¡¡¡¡ 'ÇÊÅÍ
   ¡¡¡¡¡¡ criteria = "(ÀÔÇÐ ÀÏ >= #2004/04/01#) And (ÀÔÇÐ ÀÏ<= #2004/04/31#)"
         RS.Filter = criteria
    
      If RS.RecordCount = 0 Then
         MsgBox ("¸Þ¼¼Áö")
      Else
      Do Until RS.EOF
        Debug.Print RS!Çлý¸íºÎ, RS!Á¡¼ö, RS!¼º¸í
        RS.MoveNext
     Loop
     End If
    

     RS.Close:  Set RS = Nothing
     CN.Close:  Set CN = Nothing
     End Sub

£´.ÇÊÅ͸¦ ÇØÁ¦ÇÑ´Ù

Recordset ¿ÀºêÁ§Æ®ÀÇ Filter¼Ó¼ºÀ» ¼³Á¤Çϸé ÁöÁ¤ÇÑ ÃßÃâ Á¶°ÇÀ» ä¿öÁÖ´Â ·¹Äڵ常ÀÌ ÃßÃâµÇ°í ÃßÃâµÇÁö ¾Ê¾Ò´ø ·¹Äڵ忡 ¾×¼¼½ºÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù£®ÇÊÅ͸¦ ÇØÁ¦ÇÏ°í ¸ðµç ·¹Äڵ忡 ¾×¼¼½ºÇÒ ¼ö ÀÖ°Ô ÇÒ ¶§´Â Filter¼Ó¼º¿¡ adFilterNone ¶Ç´Â ±æÀÌ 0ÀÇ ¹®ÀÚ ¿­£¨""£©À» ´ëÀÔÇÑ´Ù£®


¡¼»ç¿ë ¿¹¡½

¡¡¡¡¡¡Public Sub FilterCancel()
 ¡¡¡¡¡¡   Dim CN As ADODB.Connection
 ¡¡¡¡¡¡   Dim RS As ADODB.Recordset
 ¡¡¡¡¡¡   Dim criteria As String
        
  ¡¡¡¡¡¡  'Á¢¼Ó
  ¡¡¡¡¡¡  Set CN = CurrentProject.Connection
  ¡¡¡¡  
  ¡¡¡¡¡¡  '·¹ÄÚµå¼ÂÀ» Ãëµæ
  ¡¡¡¡¡¡  Set RS = New ADODB.Recordset
   ¡¡¡¡¡¡ RS.Open "Çлý ¸íºÎ", CN, adOpenKeyset, adLockOptimistic

   ¡¡¡¡¡¡ 'ÇÊÅÍ
  ¡¡¡¡¡¡  criteria = "(ÀÔÇÐ ÀÏ >= #2004/04/01#) And (ÀÔÇÐ ÀÏ<= #2004/04/31#)"
    RS.Filter = criteria
    
    If RS.RecordCount = 0 Then
      MsgBox ("¸Þ¼¼Áö")
    Else
      Do Until RS.EOF
        Debug.Print RS!Çлý¸íºÎ, RS!Á¡¼ö, RS!¼º¸í
        RS.MoveNext
      Loop
    End If
    
    Debug.Print
    

    RS.Filter = adFilterNone
    Do Until RS.EOF
      Debug.Print RS!Çлý¸íºÎ, RS!Á¡¼ö, RS!¼º¸í
      RS.MoveNext
    Loop
    

    RS.Close:  Set RS = Nothing
    CN.Close:  Set CN = Nothing
  End Sub