±³À°°úÁ¤ ³ªÀÇÇнÀ ¿ÀÇǽºÆÁ °Ë»ö ¹«·á°­ÁÂ
Home ·Î±×ÀΠȸ¿ø°¡ÀÔ °í°´¼¾ÅÍ »çÀÌÆ®¸Ê
¿ÀÇǽºÆ©ÅÍ ±â¾÷ASP¼­ºñ½º > ¹«·á°­ÁÂ
¿¢¼¿ 2000 µû¶óÇϱâ
Ȩ·¯´× ¿¢¼¿ 2000°­ÁÂ
À繫 ÇÔ¼ö °­ÁÂ
¿¢¼¿ 2002 »õ·Î¿î ±â´É
Ȳ±â¼º´ÔÀÇ VBA°­ÁÂ
°û½ÂÁÖ´ÔÀÇ VBAÀ̾߱â
Home > ¹«·á°­Á > ¿¢¼¿
¿¢¼¿, °û½ÂÁÖ´ÔÀÇ ¿ÀÆ©°ø±¸ÇÔ Á¦ÀÛÀ¸·Î ¹è¿öº¸´Â VBA À̾߱â, Excel

4. Áߺ¹ µ¥ÀÌÅÍ Ã³¸® - ¥°

ÀÚ·á´Ù¿î·Îµå : ¿ÀÆ©°ø±¸ÇÔ004.xls, members.mdb

¾È³çÇϼ¼¿ä. ¿ÀÆ©°¡Á· ¿©·¯ºÐ!

Çѵ¿¾È ¶äÇß´ø °û½ÂÁÖÀÔ´Ï´Ù. ¿À´ÃÀÇ ÁÖÁ¦´Â µ¥ÀÌÅͺ£À̽º¿¡ °üÇÑ °ÍÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º´Â Çѹø¿¡ ¹è¿ï ¼ö ¾øÀ» ¸¸Å­ ±× ³»¿ëÀÌ ¹æ´ëÇÏ°í ¾î·Æ½À´Ï´Ù. ±×·¯³ª, Ãʺ¸¿¡¼­ Áß±ÞÀ¸·Î ¹ßµ¸¿ò ÇϽ÷Á´Â ºÐµéÀº Çѹø º¸¾ÆÁÖ¼ÌÀ¸¸é ÇÏ´Â °ÍÀÌ¶ó µ¥ÀÌÅͺ£À̽º¸¦ ²¨³»º¸¾Ò½À´Ï´Ù. 

»ç½Ç µ¥ÀÌÅͺ£À̽º¸¸Å­ ÇÊ¿äÇÑ °ÍÀº ¾ø´Ù°í º¾´Ï´Ù. Ãë¹Ì·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÏµç »ý¾÷À¸·Î ÇÏµç µ¥ÀÌÅͺ£À̽º´Â ¿ì¸®°¡ ¼û½¬´Â °ø±â¸¸Å­ Áß¿äÇÏÁö¸¸ ´«¿¡ º¸ÀÌÁú ¾Ê¾Æ Á߿伺À» Àß ¸ð¸¦ ¼ö ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀÇ Çϵåµð½ºÅ©µµ ÀÏÁ¾ÀÇ µ¥ÀÌÅͺ£À̽ºÀÔ´Ï´Ù. Ž»ö±â¸¦ ¿­¾îº¸½ÃÁÒ.°¢°¢ÀÇ ÆÄÀÏ°ú Æú´õ´Â ÇϳªÀÇ ·¹ÄÚµåÀ̸ç ÆÄÀÏÀ̸§, Å©±â, Á¾·ù, ¹Ù²ï ³¯Â¥ µîÀº Çʵ忡 ÇØ´çÇÕ´Ï´Ù. (À̹ø ¿¬Àç´Â µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ »çÀü Áö½Ä Áï ·¹ÄÚµå, Çʵå, SQL Á¤µµ´Â ¾Æ½Ã¸®¶ó »ý°¢ÇÏ°í ½ÃÀÛÇÏ°Ú½À´Ï´Ù.)

¿À´ÃºÎÅÍ ½ÃÀÛÇÏ¿© 3ȸ¿¡ °ÉÃÄ µ¥ÀÌÅͺ£À̽º Áß ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»çÀÇ °ÉÀÛ Áß¿¡ ÇϳªÀÎ ADO¸¦ ¹è¿öº¾½Ã´Ù. ADO¸¦ óÀ½ºÎÅÍ ¼³¸íÇÏ·Á¸é UDA(Universal Data Access), OLEDB, DAO, RDO µîµîÀ» Â÷·ÊÂ÷·Ê ¼³¸íÇÏ´Â °ÍÀÌ ¼ø¼­ÀÌÁö¸¸ ÀÌ·± °Í¿¡ ´ëÇؼ­´Â ÀÌ¹Ì ¸¹Àº µ¥ÀÌÅͺ£À̽º°ü·Ã À¥»çÀÌÆ®¿¡¼­ ¼³¸íÇÏ°í ÀÖ¾î »ý·«ÇÕ´Ï´Ù. ´Ù¸¸ ¿©±â¼­´Â ADO»ç¿ëÀÌ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù·ç´Â ±â¼úÀ̸ç ADO °³Ã¼¿Í µ¥ÀÌÅͺ£À̽º»ç¿ë¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸í°ú ¿¹Á¦¸¦ º¸¿©µå¸®°Ú½À´Ï´Ù. ADO¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë°í ½ÍÀ¸½Ã´Ù¸é ´ÙÀ½ÀÇ µÎ ±ÇÀÇ Ã¥À» ¼Ò°³Çص帳´Ï´Ù.
taeyo's Advanced ASP to be Professional(Á¤º¸¹®È­»ç) , @DO & MTS Programming

1. ADO °³Ã¼
ADO °³Ã¼¸ðµ¨Àº ´ÙÀ½ ±×¸²°ú °°½À´Ï´Ù.

¿©·¯ °³Ã¼°¡ ÀÖÁö¸¸ °¡Àå ÀÚÁÖ »ç¿ëÇÏ°í Áß¿äÇÑ 3°¡Áö °³Ã¼·Î´Â Conncetion °³Ã¼, Command °³Ã¼, Recordset °³Ã¼°¡ ÀÖ½À´Ï´Ù.

Connection °³Ã¼ µ¥ÀÌÅͺ£À̽ºÀÇ ¿¬°á¿¡ »ç¿ëµË´Ï´Ù. ¿¬°áÇÒ ¼­¹ö¿Í µ¥ÀÌÅͺ£À̽º¸¦ °áÁ¤Çϸç, ¿¬°á»Ó ¾Æ´Ï¶ó ¸í·ÉÀ» ½ÇÇàÇÏ°í °á°ú°ªÀ» °¡Á®¿Í¼­ º¼ ¼öµµ ÀÖ½À´Ï´Ù.
Command °³Ã¼ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°á ÈÄ SQL¹®À̳ª ¸í·ÉÀ» ½ÇÇàÇÒ¶§ »ç¿ëÇÕ´Ï´Ù.
Recordset °³Ã¼ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°á, ¸í·É ¼öÇà ÈÄ °á°ú °ªÀ» ¹Þ¾Æ ¿Ã ¶§ »ç¿ëÇÕ´Ï´Ù.

¡Ü Connection °³Ã¼

Connection °³Ã¼´Â µ¥ÀÌÅͺ£À̽º¿Í ¿¬°áÇÏ´Â µ¥ ÇÊ¿äÇÑ ÇÁ·ÎÆÛƼ¿Í ¸Þ¼­¸¦ Á¦°øÇÏ°í ÀÖ½À´Ï´Ù. Connection °³Ã¼·Î ¿¬°áµÇ¾î¾ß¸¸, Ãß°¡.¼öÁ¤.»èÁ¦µî µ¥ÀÌÅͺ£À̽º»óÀÇ SQL¸í·É°ú ÇÊ¿äÇÑ µ¥ÀÌÅ͸¦ °á°ú °ªÀ¸·Î °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù.

- ÇÁ·ÎÆÛƼ
ConnectionString : µ¥ÀÌÅͼҽº¿¡ ¿¬°áÀ» ÇϱâÀ§ÇÑ Á¤º¸
ConnectionTimeOut : ¿¬°á ÈÄ Á¾·á±îÁöÀÇ ½Ã°£

- ¸Þ¼­µå
Open() : µ¥ÀÌÅͼҽº¸¦ ¿¬°á
Close() : ¿¬°áÀ» Á¾·áExecute() : SQL ¹® ÀúÀå ÇÁ·Î½ÃÀú¸¦ ½ÇÇà

- Æ®·£Àè¼Ç
BeginTrans() : »õ·Î¿î Æ®·¢Àè¼ÇÀ» ½ÃÀÛ
CommitTrans() : ¼öÁ¤ ³»¿ëÀ» ÀúÀåÇÏ°í Æ®·£Àè¼Ç Á¾·á
RollbackTrans() : ¼öÁ¤ ³»¿ëÀ» Ãë¼ÒÇÏ°í Æ®·£Àè¼Ç Á¾·á

¡Ü Command °³Ã¼

Command °³Ã¼´Â À§¿¡¼­ ¹è¿î Connection °³Ã¼¿Í ¸¶Âù°¡Áö·Î ¿¬°á°ú ½ÇÇàÀÇ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. Command °³Ã¼´Â ActiveConnection °³Ã¼¸¦ »ç¿ëÇÏ¿© ¿¬°áÀ» Çϴµ¥ µ¥ÀÌÅÍ ¼Ò½º ¿¬°á½Ã ¸í·ÉÀ» ó¸®ÇÏ´Â µ¿¾È¸¸ ¿¬°áÇÏ°Ô µË´Ï´Ù.

- ÇÁ·ÎÆÛƼ
ActiveConnection : Command °³Ã¼¿Í »ç¿ëµÇ´Â ¿¬°áÀ» À§ÇÑ °³Ã¼
CommandText : ½ÇÇàµÉ ¸í·É¾î ÀúÀå
CommandType : CommandText ÇÁ·ÎÆÛƼ¿¡ »ç¿ëÇÏ´Â ¸í·É¾î ŸÀÔÁöÁ¤
Prepared : ½ÇÇàÀü¿¡ ¹®¼­¸¦ ÄÄÆÄÀϽÃų Áö¸¦ ÁöÁ¤
CommandTimeout : ½ÇÇàÀ» ±â´Ù¸®´Â ½Ã°£ÁöÁ¤. µðÆúÆ® : 30ÃÊ

- ¸Þ¼­µå
CreateParameter : Parameter ÄÝ·º¼Ç¿¡¼­ »õ·Î¿î Parameter °³Ã¼ »ý¼º
Execute : SQL¹® °ú ÀúÀå ÇÁ·Î½ÃÀú¸¦ ½ÇÇà

¡Ü RecordSet°³Ã¼

Connection °³Ã¼¿Í Command °³Ã¼¿¡¼­ µ¥ÀÌÅÍ ¼Ò½º¿Í ¿¬°áÇÏ°í ½ÇÇàÇÏ¸é ±× °á°ú´Â ÇϳªÀÇ ¸í·É¸¸ 󸮵ɼö µµ ÀÖÁö¸¸ ´ë°³´Â RecordSet¿¡ °á°ú°¡ ÀúÀåµË´Ï´Ù.
RecordSetÀº ¿©·¯°³ÀÇ ·¹ÄÚµåµé·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç RecordSet¿¡ ´ëÇÑ °¢Á¾ ¸í·ÉÀ» ¼öÇàÇÕ´Ï´Ù.

- ÇÁ·ÎÆÛƼ 
ActiveConnection : ·¹ÄÚµå¼Â¿¡ ÀÖ´Â ¿¬°á °³Ã¼
BOF : ÇöÀç ·¹ÄÚµåÀÇ À§Ä¡°¡ ù¹ø° ·¹ÄÚµå À§¿¡ ÀÖÀ¸¸é True
EOF : ¸¶Áö¸· ·¹ÄÚµå ´ÙÀ½¿¡ ·¹ÄÚµåÀÇ À§Ä¡°¡ ÀÖÀ¸¸é True
CursorType : ·¹ÄÚµå¼Â¿¡ »ç¿ëµÇ´Â Ä¿¼­ ŸÀÔ
LockType : ÆíÁýÁß ·¹Äڵ忡 ÁöÁ¤µÈ ¶ô ŸÀÔ
PageCount : ·¹ÄÚµå¼ÂÀÇ ÆäÀÌÁö¼ö
PageSize : ÇϳªÀÇ ÆäÀÌÁö¸¦ ±¸¼ºÇÏ´Â ·¹ÄÚµå ¼ö ÁöÁ¤
RecordCount : ÇöÀç·¹ÄÚµå¼ÂÀÇ ·¹ÄÚµå ¼ö

- ¸Þ¼­µå
Open : ·¹ÄÚµå¼Â¿¡¼­ Ä¿¼­ ¿­±â
Close : ·¹ÄÚµå¼Â ´Ý±â
AddNew : ¼öÁ¤ °¡´ÉÇÑ ·¹ÄÚµå¼Â¿¡¼­ »õ·Î¿î ·¹ÄÚµå »ý¼º
Delete : ·¹ÄÚµå¼ÂÀÇ ÇöÀç ·¹Äڵ带 ´ÝÀ½Update : ÇöÀç ·¹ÄÚµå º¯°æ
Move : ÇöÀç·¹Äڵ忡¼­ ÁöÁ¤µÈ ¼ö¸¸Å­ À̵¿
MoveFirst : ·¹ÄÚµåÀÇ Ã³À½À¸·Î À̵¿
MoveLast : ¸¶Áö¸· ·¹ÄÚµå·Î À̵¿
MoveNext : ´ÙÀ½ ·¹ÄÚµå·Î À̵¿
MovePrevious : ÀÌÀü ·¹ÄÚµå·Î À̵¿

À§ÀÇ ³»¿ëÀÌ Áö·çÇϽÃÁÒ? ±×·¯¸é Áö±ÝºÎÅÍ´Â °£´ÜÈ÷ MDBÆÄÀÏÀ» °¡Áö°í µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇÏ¿© µ¥ÀÌÅ͸¦ ¿öÅ©½ÃÆ®·Î °¡Á®¿À´Â °ÍÀ» º¸¿©µå¸®°Ú½À´Ï´Ù. 
¸ÕÀú MDBÆÄÀÏÀ» Çϳª ±¸Çغ¸ÁÒ ´ÙÀ½ÀÇ Members.MDBÆÄÀÏÀº MAINÅ×À̺í Çϳª·Î ±¸¼ºµÇ¾î ÀÖ°í ±× Å×ÀÌºí¿¡´Â °£´ÜÈ÷ ȸ¿øÀ̸§, ȸ¿ø¾ÆÀ̵ð, ÀüÈ­¹øÈ£°¡ ±â·ÏµÇ¾î ÀÖ½À´Ï´Ù.

ÀÌÁ¦ µ¥ÀÌÅͺ£À̽º´Â ÁغñµÇ¾úÀ¸´Ï ¿¢¼¿¿¡¼­ »õ ÅëÇÕ¹®¼­¸¦ Çϳª ÁغñÇÕ´Ï´Ù.
»õ ÅëÇÕ¹®¼­¸¦ ¸¸µé¸é ¹Ù·Î VBE·Î °¡¼Å¼­ ADO°³Ã¼¸¦ ÇöÀç »õ ÅëÇÕ¹®¼­¿¡ Æ÷ÇÔ½ÃÄÑÁÖ¾î¾ß ÇÕ´Ï´Ù(µµ±¸(T)-ÂüÁ¶(R)¸¦ Ŭ¸¯ÇÑ´Ù.)

ÇÁ·Î±×·¥ÀÇ ÄÚµùÀº ´ÙÀ½°ú °°½À´Ï´Ù.
Option Explicit

'µ¥ÀÌÅͺ£À̽º Á¢¼ÓÀ» À§ÇÑ connection°³Ã¼º¯¼öÀÔ´Ï´Ù.
Public adoConn As ADODB.Connection
'·¹ÄÚµå¼ÂÀ» °¡Á®¿À±â À§ÇÑ recordset°³Ã¼º¯¼öÀÔ´Ï´Ù.
Public adoRst As ADODB.Recordset
'¿¬°áÀ» À§ÇÑ ¿¬°á¹®ÀÚ¿­ÀÔ´Ï´Ù. Data Source=members.mdbºÎºÐÀ» º¸½Ã¸é Á¢¼ÓÇÒ µ¥ÀÌÅͺ£À̽ºÆÄÀÏÀ» ÁöÁ¤ÇÏ°í ÀÖ½À´Ï´Ù.
Public Const CONN_ADO As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=members.mdb;Jet OLEDB:Database Password="

'µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» À§ÇÑ ÇÁ·Î½ÃÁ®ÀÔ´Ï´Ù.
Public Sub ADOConnect(strConn As String)
     '°³Ã¼º¯¼ö´Â Set ~ = New ~ Çü½ÄÀ¸·Î ÇÒ´çÇØ¾ß ÇÏ´Â °Å ¾Æ½ÃÁÒ!
     Set adoConn = New ADODB.Connection
     '30ÃÊ°¡·® ¿¬°áÀ» ½ÃµµÇÕ´Ï´Ù. ¹°·Ð ¿¬°á½Ãµµ°¡ 30ÃÊ°¡ ³ÑÀ¸¸é ¿¡·¯¸¦ ³À´Ï´Ù.
     adoConn.CommandTimeout = 30
     '¿¬°áÀ» ½ÃµµÇÕ´Ï´Ù.
     adoConn.Open strConn
End Sub

'µ¥À̹öº£À̽º ¿¬°áÀ» ²÷Àº ÇÁ·Î½ÃÁ®ÀÔ´Ï´Ù.
Public Sub ADODisconnect()
     'µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ¿¬°áÀ» ²÷½À´Ï´Ù.
     adoConn.Close
     '°³Ã¼º¯¼ö¿¡ ÇÒ´çÇÑ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÕ´Ï´Ù.
     Set adoConn = Nothing
End Sub

'µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °¡Á®¿À´Â ÇÁ·Î½ÃÁ®ÀÔ´Ï´Ù. 
Public Sub GetRecord()
     Dim strSQL As String
     Dim row As Integer

     'ÁöÁ¤ÇÑ ¿¬°á¹®ÀÚ¿­À» ÀÌ¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» ½ÃµµÈü´Ï´Ù.
     ADOConnect CONN_ADO
     '¿©±â¼­´Â °£´ÜÈ÷ ¼±ÅÃÄõ¸®¸¦ ÇÏ¿´½À´Ï´Ù.
     strSQL = "SELECT * FROM main"

     Set adoRst = New ADODB.Recordset
     With adoRst
          .CursorLocation = adUseClient
          .LockType = adLockOptimistic
          .CursorType = adOpenStatic
          .Open strSQL, adoConn

          '¸¸ÀÏ ·¹Äڵ尡 ¾ø´Ù¸é BOF(·¹ÄÚµåÀÇ ½ÃÀÛ)°ú EOF(·¹ÄÚµåÀÇ ³¡)Àº °°½À´Ï´Ù
           If Not (.BOF And .EOF) Then
              row = 2

              '·¹ÄÚµåÀÇ ³¡ÀÌ ³ª¿Ã¶§±îÁö ·¹ÄÚµåÆ÷ÀÎÆ®¸¦ ¿Å±é´Ï´Ù.
               Do Until .EOF
                   'NAMEÇʵåÀÇ ³»¿ëÀ» 1¹ø° ¿­¿¡ ±â·ÏÇÕ´Ï´Ù.
                    Sheet1.Cells(row, 1) = .Fields("NAME")
                    'IDÇʵåÀÇ ³»¿ëÀ» 2¹ø° ¿­¿¡ ±â·ÏÇÕ´Ï´Ù.
                    Sheet1.Cells(row, 2) = .Fields("ID")
                    'PHONEÇʵåÀÇ ³»¿ëÀ» 3¹ø° ¿­¿¡ ±â·ÏÇÕ´Ï´Ù.
                    Sheet1.Cells(row, 3) = .Fields("PHONE")
                    '·¹ÄÚµå Æ÷ÀÎÅ͸¦ ´ÙÀ½À¸·Î ¿Å±é´Ï´Ù.
                     .MoveNext
                    '´ÙÀ½ ÇàÀ¸·Î ±â·ÏÇϱâ À§ÇØ Çà¹øÈ£¸¦ Çϳª ´õ ´Ã¸³´Ï´Ù.
                    row = row + 1
               Loop
           End If

           '·¹ÄÚµå¼ÂÀ» ´Ý½À´Ï´Ù.
           .Close
     End With

     Set adoRst = Nothing
     'µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» ²÷½À´Ï´Ù.
     ADODisconnect
End Sub

ÀÌÁ¦ °£´ÜÇÑ ADO»ç¿ëÀ» Çغ¸¾Ò½À´Ï´Ù. ´ÙÀ½ ¹ø¿¡´Â Áߺ¹µ¥ÀÌÅ͸¦ ADO¸¦ »ç¿ëÇÏ¿© ó¸®ÇÏ´Â ¹æ¹ýÀ» ½ÃÀÛÇÏ°Ú½À´Ï´Ù. ÇÁ·Î±×·¥Àº ¾Æ·¡±×¸²°ú °°½À´Ï´Ù. ¹Ì¸® »ì¦ ¸»¾¸µå¸®¸é ¿öÅ©½ÃÆ®ÀÇ ¸ñ·ÏÀ» ÇϳªÀÇ °¡»óÅ×À̺í·Î ¸¸µé¾î ÀÌ Å×ÀÌºí¿¡¼­ ÇÊÅ͸µÇÏ¿© Áߺ¹µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â °ÍÀÔ´Ï´Ù.

¡¡

¸ñÂ÷ | ÀÌÀü | ´ÙÀ½

¡¡

¿ÀÇǽºÆ©ÅÍ ±â¾÷ASP¼­ºñ½º 135-880 ¼­¿ï½Ã °­³²±¸ »ï¼ºµ¿ 157-3 ¿¤ÁöÆ®À©ÅÚ 2Â÷ 1603È£ ¢Ï070-7098-2554
Copyright ¨Ï 1999-2008 Officetutor.com All rights reserved
¡¡