£±.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
|