£±.Find ¹æ¹ý
Recordset ¿ÀºêÁ§Æ®ÀÇ Find¹æ¹ýÀ» ÀÌ¿ëÇϸé ÁöÁ¤ÇÑ Á¶°Ç¿¡ ÀÏÄ¡ÇÏ´Â ·¹Äڵ带 °Ë»öÇÏ°í ±× ·¹Äڵ带 ÃֽŠ·¹ÄÚµå¶ó ÇÑ´Ù£®·¹Äڵ尡 ¹ß°ßµÇÁö ¾Ê¾Ò´ø ¶§´Â Recordset ¿ÀºêÁ§Æ®ÀÇ BOF¼Ó¼º ¶Ç´Â EOF¼Ó¼ºÀÌ TrueÀÌ µÇ°í ÃֽŠ·¹ÄÚµå´Â ¹ÌÁ¤ÀÇ µÈ´Ù£®
¡¼¼½Ä¡½recordset.Find Criteria, SkipRows, SearchDirection, Start
recordset : ¿·Á ÀÖ´Â Recordset ¿ÀºêÁ§Æ®
Criteria : ¿ÀÇ À̸§, ºñ±³ ¿¬»ê ÀÚ, °ªÀ» ÁöÁ¤ÇÏ´Â ¼º¸íÀ» Æ÷ÇÔÇÒ ¹®ÀÚ ¿ÇüÀÇ °ªÀ» ÁöÁ¤
SkipRows : °³½Ã À§Ä¡¿¡¼ Àб⠳¯¸®´Â ·¹ÄÚµå ¼ö£¨»ý·« °¡´É£©
SearchDirection : °Ë»ö ¹æÇ⣨»ý·« °¡´É£©
Start : °Ë»öÀÇ °³½Ã À§Ä¡(»ý·« °¡´É)
¡ßSearchDirection
Á¤¼ö |
°ª |
¼³¸í |
adSearchBackward |
-1 |
ÈÄ¹æ °Ë»öÀ» Çϰí Recordset ÀÇ ¾ÕÀ¸·Î Á¾·áÇÑ´Ù£®ÀÏÄ¡ÇÏ´Â ·¹Äڵ尡 ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì£¬·¹ÄÚµå Æ÷ÀÎÅÍ´Â BOF·Î À̵¿ÇÑ´Ù£® |
adSearchForward |
1 |
Àü¹æ °Ë»öÀ» Çϰí Recordset ÀÇ ¸»¹Ì¿¡ Á¾·áÇÑ´Ù£®ÀÏÄ¡ÇÏ´Â ·¹Äڵ尡 ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì£¬·¹ÄÚµå Æ÷ÀÎÅÍ´Â EOF ·Î À̵¿ÇÑ´Ù£® |
¡¼Æ÷ÀÎÆ®¡½
CriteriaÀμö´Â °Ë»ö¿¡ »ç¿ëÇÏ´Â Çʵ壬ºñ±³ ¿¬»ê ÀÚ °Ë»öÇÏ´Â °ªÀ¸·Î ±¸¼ºµÇ´Â ¹®ÀåÀÌ´Ù£® ºñ±³ ¿¬»êÀÚ¿¡ "like" À»(¸¦) »ç¿ëÇÏ´Â °æ¿ì ¹®ÀÚ ¿Ä¡¿¡ ÆÛ¼¾Æ® (%) ¸¦ Æ÷ÇÔÇϸé 1 ³ª·çÅÍ ¶Ç´Â º¹¼öÀÇ ¹®ÀÚ ¶Ç´Â ºÎºÐ ¹®ÀÚ¿À» °Ë»öÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù£®´ÜÁö ÆÛ¼¾Æ®´Â °Ë»ö ¹®ÀÚ¿ÀÇ ¸»¹Ì¿¡ »ç¿ëÇϰųª ¶Ç´Â °Ë»ö ¹®ÀÚ¿ÀÇ ¾Õ°ú ¸»¹ÌÀÇ ¾ç¹æ¿¡¼ »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù£®
SkipRowsÀμö´Â °Ë»ö ½ÇÇà ¶§·Î´Â Àб⠳¯¸®´Â ·¹ÄÚµå ¼öÀÌ´Ù£®ÀÌ Àμö¸¦ »ý·«Çϰųª ¶Ç´Â 0À» ÁöÁ¤ÇÏ¸é £¬Find ¹æ¹ýÀº ÃֽŠ·¹Äڵ忡¼ °Ë»öÀ» ÇÑ´Ù£®¸¸¾à£¬ÃֽŠ·¹Äڵ尡 °Ë»ö Á¶°ÇÀ» ä¿öÁÖ°í ÀÖ´Â °æ¿ì¿¡´Â ¾ðÁ¦³ª ÀÌ ·¹Äڵ尡 °Ë»öµÇ°í ´Ù¸¥ ·¹Äڵ带 °Ë»öÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù£®SkipRowsÀμö¸¦ 1À¸·Î Çϸ飬ÃֽŠ·¹Äڵ带 ÀÐ°í ³¯¸®°í£¬´ÙÀ½ÀÇ ·¹Äڵ带 °Ë»öÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù£®
SearchDirectionÀμö´Â °Ë»öÀÇ ¹æÇâÀ» ÁöÁ¤ÇÑ´Ù£®Recordset ¿ÀºêÁ§Æ®ÀÇ CursorType¼Ó¼ºÀÌ adOpenForwardOnlyÀÇ °æ¿ì´Â ÃֽŠ·¹Äڵ忡¼ ¾Õ ·¹ÄÚµå ¹æÇâ¿¡ÀÇ °Ë»öÀº ½ÇÇàÇÒ ¼ö ¾ø´Ù£®
StartÀμö´Â °Ë»ö °³½Ã À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù£®»ý·«ÇÑ °æ¿ì´Â ÃֽŠ·¹Äڵ忡¼ °Ë»öÀ» °³½ÃÇÑ´Ù£®
¡á °Ë»ö Á¶°ÇÀÇ ¼½Ä
¡¡
°Ë»ö¿¡ »ç¿ëÇÏ´Â ÇʵåÀÇ µ¥ÀÌÅÍ ÇüÅ¿¡ ÀÇÇØ °Ë»öÇÏ´Â °ªÀÇ ¼½ÄÀÌ ´Ù¸£´Ù£®
¡¡¡¡¡¡
¡¡¡¡ ¡ÜÅØ½ºÆ® ÇüÅÂÀÇ ÇʵåÀÇ °æ¿ì °Ë»öÇÏ´Â °ªÀ» Single Quation£¨'£©À¸·Î ¹¾î¾ß ÇÑ´Ù£®
¡¡¡¡¡¡ °Ë»öÇÏ´Â °ªÀ» º¯¼ö·Î ÁöÁ¤ÇÏ´Â °æ¿ì¿¡µµ Single QuationÀÌ ÇÊ¿äÇÏ´Ù£®
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡ (¿¹£© ¡¡ RS£®Find "Ŭ·¡½º = 'TA'"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ RS£®Find "Ŭ·¡½º¡¡= ' " & ¡¡Str ¡¡& ¡¡"'"
¡¡
¡Ü¼öÄ¡ ÇüÀÇ ÇʵåÀÇ °æ¿ì¿¡´Â °Ë»öÇÏ´Â °ªÀ» ±×´ë·Î ±â¼úÇÑ´Ù£®
¡¡¡¡¡¡¡¡ £¨¿¹£©¡¡RS£®Find "Á¡¼ö ¡¡> 80"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ RS£®Find "Á¡¼ö ¡¡> "¡¡£¦¡¡Str¡¡
¡¡¡¡ ¡Ü³¯Â¥ ½Ã°¢ ÇüÇʵåÀÇ °æ¿ì£¬°Ë»öÇÏ´Â °ªÀ» ˜Þ±âÈ£(££)À¸·Î ¹¾î¾ß ÇÑ´Ù£®°Ë»öÇÏ´Â °ª
À» º¯¼ö·Î ÁöÁ¤ÇÏ´Â Àå¼Ò
¡¡¡¡¡¡ ÇÕµµ ˜Þ±âÈ£°¡ ÇÊ¿äÇÕ´Ï´Ù£®
¡¡¡¡¡¡¡¡ £¨¿¹£©¡¡RS£®Find "ÀÔÇÐ ÀÏ¡¡= #2004/04/01#"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ RS£®Find "ÀÔÇÐ ÀÏ¡¡= ¡¡# "¡¡£¦¡¡Str¡¡& "#"
£².¾Õ ·¹Äڵ带 °Ë»öÇÑ´Ù.
Find ¹æ¹ýÀÇ SkipRowsÀμö¸¦ 0£¬SearchDirectionÀμö¸¦ adSearchForwardÀ¸·Î Çϸé ÃֽŠ·¹Äڵ忡¼ ·¹ÄÚµå¼ÂÀÇ ÃÖÁ¾ ¹æÇâ¿¡ ÇâÇÏ¿© °³½ÃÇϰí óÀ½¿¡ ã¾Ò´ø ·¹Äڵ带 ÃֽŠ·¹ÄÚµå·Î ÇÑ´Ù£®ÇØ´çµÇ´Â ·¹Äڵ尡 ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡´Â, Recordset ¿ÀºêÁ§Æ®ÀÇ EOF¼Ó¼ºÀÌ TrueÀÌ µÇ°í ÃֽŠ·¹ÄÚµå´Â ¹ÌÁ¤ÀÇ µÈ´Ù. ÀÌ ¶§ ÃֽŠ·¹Äڵ带 ÂüÁ¶ÇÑ´Ù¸é ¿¡·¯°¡ ¹ß»ýÇÑ´Ù£®Find ¹æ¹ýÀ» ½ÇÇàÇÑ µÚ¿¡´Â ¹Ýµå½Ã EOF¼Ó¼ºÀÇ °ªÀ» Á¶»çÇÏ°í ·¹Äڵ尡 ¹ß°ßµÆÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù£®
¡¼»ç¿ë ¿¹¡½
¡¡¡¡¡¡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.Find criteria, 0, adSearchForward
¡¡¡¡¡¡ 'È®ÀÎ
¡¡¡¡¡¡ If RS.EOF Then
¡¡¡¡¡¡ MsgBox ("¹ß°ßµÇÁö ¾Ê½À´Ï´Ù")
¡¡¡¡¡¡ Else
¡¡¡¡¡¡ MsgBox (RS!ÇÐÀû ¹øÈ£ & " " & RS!¼º¸í)
¡¡¡¡¡¡ End If
¡¡¡¡¡¡ 'Á¾·á
¡¡¡¡¡¡ RS.Close: Set RS = Nothing
¡¡¡¡¡¡ CN.Close: Set CN = Nothing
¡¡¡¡¡¡End Sub
£³.¿¬¼ÓÀ¸·Î °Ë»öÇÑ´Ù.
µ¿ÀÏ Á¶°ÇÀ¸·Î ·¹Äڵ带 °è¼ÓÇÏ°í °Ë»öÇÏ´Â °æ¿ì, ù¹øÂ°ÀÇ ·¹Äڵ带 °Ë»öÇÏ´Â °æ¿ì¿¡´Â SkipRowsÀμö¸¦ 0À¸·Î ÇÏ¿© ½ÇÇàÇÏ°í£¬£²¹øÂ° ÀÌÈÄÀÇ ·¹Äڵ带 °Ë»öÇÏ´Â °æ¿ì´Â SkipRowsÀμö¸¦ 1·Î ÇÑ´Ù£®
¡¼»ç¿ë ¿¹¡½
¡¡¡¡¡¡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
¡¡¡¡¡¡ '1ȸ°ÀÇ °Ë»ö
¡¡¡¡¡¡ criteria = "¼º¸í Like 'È«±æµ¿%'"
¡¡¡¡¡¡ RS.Find criteria, 0, adSearchForward
¡¡¡¡¡¡ If RS.EOF Then
¡¡¡¡¡¡ MsgBox ("¹ß°ßµÇÁö ¾Ê½À´Ï´Ù")
¡¡¡¡¡¡ '2ȸ° ÀÌÈÄÀÇ °Ë»ö
¡¡¡¡¡¡ Else
¡¡¡¡¡¡ Do Until RS.EOF
¡¡¡¡¡¡ MsgBox (RS!ÇÐÀû ¹øÈ£ & " " & RS!¼º¸í)
¡¡¡¡¡¡ RS.Find criteria, 1, adSearchForward
¡¡¡¡¡¡ Loop
¡¡¡¡¡¡ MsgBox ("°Ë»ö Á¾·á")
¡¡¡¡¡¡ End If
¡¡¡¡¡¡ 'Á¾·á
¡¡¡¡¡¡ RS.Close: Set RS = Nothing
¡¡¡¡¡¡ CN.Close: Set CN = Nothing
¡¡¡¡¡¡End Sub
£´.Seek ¹æ¹ý
Seek¹æ¹ýÀº Å×ÀÌºí¿¡ ¼³Á¤µÇ¾î ÀÖ´Â À妽º¸¦ ÀÌ¿ëÇÏ°í °Ë»öÀ» Çϱ⠶§¹®¿¡ Find ¹æ¹ýº¸´Ùµµ °í¼ÓÀ¸·Î ·¹Äڵ带 °Ë»öÇÒ ¼ö ÀÖ´Ù£®
¡¼¼½Ä¡½recordset.Seek KeyValues,SeekOption
¡¡¡¡¡¡¡¡
recordset£º¿·Á ÀÖ´Â Recordset ¿ÀºêÁ§Æ®
KeyValues£º°Ë»öÇÏ´Â °ª
SeekOption£º°Ë»ö ¹æ¹ý
¡ßSeekOption
Á¤¼ö |
°ª |
¼³¸í |
adSeekFirstEQ |
1 |
KeyValues ¿Í ÀÏÄ¡ÇÏ´Â ÃÖÃÊÀÇ Å°¸¦ °Ë»öÇÑ´Ù£® |
adSeekLastEQ |
2 |
KeyValues ¿Í ÀÏÄ¡ÇÏ´Â ÃÖÈÄÀÇ Å°¸¦ °Ë»öÇÑ´Ù£® |
adSeekAfterEQ |
4 |
KeyValues ¿Í ÀÏÄ¡Çϴ Ű£¬ ¶Ç´Â ±× Á÷ÈÄÀÇ Å°ÀÇ ¾î´À ÂÊÀ̳ª °Ë»öÇÑ´Ù£® |
adSeekAfter |
8 |
KeyValues¶ó°í ÀÏÄ¡Çϴ ŰÀÇ Á÷ÈÄÀÇ Å°¸¦ °Ë»öÇÑ´Ù£® |
adSeekBeforeEQ |
16 |
KeyValues ¶ó°í(¿Í) ÀÏÄ¡Çϴ Ű£¬ ¶Ç´Â ±× Á÷ÀüÀÇ Å°ÀÇ ¾î´À ÂÊÀ̳ª¸¦ °Ë»öÇÑ´Ù£® |
adSeekBefore |
32 |
KeyValues ¿Í ÀÏÄ¡Çϴ ŰÀÇ Á÷ÀüÀÇ Å°¸¦ °Ë»öÇÑ´Ù£® |
¡¼Æ÷ÀÎÆ®¡½
-
°Ë»ö¿¡ »ç¿ëÇÏ´Â Çʵå´Â Å×ÀÌºí¿¡ ¼³Á¤µÇ°í ÀÖ´Â À妽ºÀÌ´Ù£®Å×ÀÌºí¿¡´Â º¹¼öÀÇ À妽º¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù£®¾î´À À妽º¸¦ »ç¿ëÇÏ°í °Ë»öÀ» ½ÇÇàÇÒÁö ´Â Recordset ¿ÀºêÁ§Æ®ÀÇ Index¼Ó¼ºÀ¸·Î ÁöÁ¤ÇÑ´Ù£®Seek ¹æ¹ýÀº Recordset ¿ÀºêÁ§Æ®ÀÇ Open ¹æ¹ýÀÇ optionsÀμö¿¡ adCmdTableDirectÀ» ÁöÁ¤ÇÏ°í ¿·È´ø Recordset ¿ÀºêÁ§Æ®¸¸À¸·Î ½ÇÇà °¡´ÉÇÏ´Ù£®
-
Seek ¹æ¹ýÀ» ½ÇÇàÇÑ °á°ú Á¶°ÇÀ» ä¿öÁÖ´Â ·¹Äڵ尡 ¹ß°ßµÇÁö ¾Ê¾Ò´ø ¶§´Â Recordset ¿ÀºêÁ§Æ®ÀÇ BOF¼Ó¼º ¶Ç´Â EOF¼Ó¼ºÀÌ TrueÀÌ µÇ°í£¬ÃֽŠ·¹ÄÚµå´Â ¹ÌÁ¤ÀÇ µÈ´Ù£®ÀÌ ¶§ ÃֽŠ·¹Äڵ带 ÂüÁ¶ÇÑ´Ù¸é ¿¡·¯°¡ µÈ´Ù£®Find ¹æ¹ýÀ» ½ÇÇàÇÑ ÈÄ¿¡´Â ¹Ýµå½Ã BOF¼Ó¼º ¶Ç´Â EOF¼Ó¼ºÀÇ °ªÀ» Á¶»çÇÏ°í ·¹Äڵ尡 ¹ß°ßµÆÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù£®¾î´À ÂÊÀÇ ¼Ó¼ºÀ» ÀÌ¿ëÇÒÁö´Â °Ë»öÀÇ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù£®
-
Seek ¹æ¹ýÀÇ KeyValuesÀμö´Â °Ë»öÇÏ´Â °ªÀÇ µ¥ÀÌÅÍ ÇüÅ¿¡ ÀÇÇØ ¼½ÄÀÌ ´Ù¸£´Ù£®ÅؽºÆ® ÇüÅÂÀÇ °æ¿ì´Â ±× ¹®ÀÚ¿À» Double Quatation£¨"£©ÀÌ°í £¬³¯Â¥ ½Ã°¢ÇüÀÇ °æ¿ì´Â ˜Þ±âÈ££¨£££©À¸·Î ¹¾î¾ß ÇÑ´Ù£®¼öÄ¡ÇüÀÇ °æ¿ì¿¡´Â °Ë»öÇÏ´Â °ªÀ» ±×´ë·Î ±â¼úÇÑ´Ù£®
¡¼¼½Ä¡½recordset.Index = indexname
recordset£º¿·Á ÀÖ´Â Recordset ¿ÀºêÁ§Æ®
indexname£ºÅ×ÀÌºí¿¡ ¼³Á¤µÇ°í ÀÖ´Â À妽º À̸§
¿¹¸¦ µé¸é£¬[ÇÐÀû ¹øÈ£]Çʵ忡[¹øÈ£]À̶ó°í ¸»ÇÏ´Â À妽º°¡ ¼³Á¤µÇ°í ÀÖ´Â ¶§ ÀÌ À妽º¸¦ »ç¿ëÇÏ°í ·¹Äڵ带 °Ë»öÇÏ´Â µ¥´Â£¬´ÙÀ½°ú °°ÀÌ ±â¼úÇÑ´Ù£®
RS.Index = "¹øÈ£"
RS.Seek "775501A", adSeekFirstEQ
¡¼»ç¿ë ¿¹¡½
¡¡¡¡¡¡Public Sub Seek °Ë»ö()
¡¡¡¡¡¡ Dim CN As ADODB.Connection
¡¡¡¡¡¡ Dim RS As ADODB.Recordset
¡¡¡¡¡¡ Dim DAT As Long
¡¡¡¡¡¡ 'Á¢¼Ó
¡¡¡¡¡¡ Set CN = CurrentProject.Connection
¡¡¡¡¡¡ '·¹ÄÚµå¼ÂÀ» Ãëµæ
¡¡¡¡¡¡ Set RS = New ADODB.Recordset
¡¡¡¡¡¡ RS.Open "Çлý ¸íºÎ", CN, adOpenKeyset, adLockOptimistic, adCmdTableDirect
¡¡¡¡¡¡ '°Ë»ö
¡¡¡¡¡¡ DAT = 2101
¡¡¡¡¡¡ RS.Index = "¹øÈ£"
¡¡¡¡¡¡ RS.Seek DAT, adSeekFirstEQ
¡¡¡¡¡¡ 'È®ÀÎ
¡¡¡¡¡¡ If RS.EOF Then
¡¡¡¡¡¡ MsgBox ("¹ß°ßµÇÁö ¾Ê½À´Ï´Ù")
¡¡¡¡¡¡ Else
¡¡¡¡¡¡ MsgBox (RS!ÇÐÀû ¹øÈ£ & " " & RS!¼º¸í)
¡¡¡¡¡¡ End If
¡¡¡¡¡¡ 'Á¾·á
¡¡¡¡¡¡ RS.Close: Set RS = Nothing
¡¡¡¡¡¡ CN.Close: Set CN = Nothing
¡¡¡¡¡¡End Sub