ADO¸¦ Microsoft Excel ¿öÅ©½ÃÆ®¿¡ »õ µ¥ÀÌÅÍ ÇàÀ» »ðÀÔÇÒ ¶§ ºó ¹®ÀÚ¿ °ªÀ» Æ÷ÇÔÇÏ´Â Çʵ带 µ¥ÀÌÅͰ¡ Æ÷ÇÔµÈ °æ¿ì ADO Excel¿¡¼ À߸øµÈ ¿À» ÈÄ¼Ó ¼ýÀÚ ÇÊµå µ¥ÀÌÅÍ °ªÀ» »ðÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¹®Á¦´Â Microsoft OLE DB °ø±ÞÀÚ¿¡ ´ëÇÑ Jet ¹öÀü 4.0 ¹× Microsoft Excel¿¡ ´ëÇÑ ODBC µå¶óÀ̹ö ¹ß»ýÇÕ´Ï´Ù. ÀÌ ¹®Á¦´Â SQL INSERT ¹®À» ¶Ç´Â
AddNew ¹× ADO
Recordset °³Ã¼ÀÇ
Update ¸Þ¼µå¸¦ »ç¿ëÇÏ´ÂÁö ¿©ºÎ¸¦ ¹ß»ýÇÕ´Ï´Ù.
ADO »õ ·¹Äڵ带 »ðÀÔÇÒ ¶§ Excel ÅëÇÕ ¹®¼¸¦ Excel ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¿·Á ÀÖÀ¸¸é ÀÌ ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù.
±×·¯³ª Microsoft Excel ADO ÀÛ¾÷À» ¼öÇàÇÏ´Â µ¿¾È ¿·Á ÀÖÀ¸¸é ¸Þ¸ð¸® ´©¼ö°¡ ¹ß»ýÇϱ⠶§¹®¿¡ ÀÌ ¿¬½ÀÀ» ¹æÁöÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ¾Æ·¡ ¹®¼ ¹øÈ£¸¦ ´·¯ Microsoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¹®¼¸¦ Ŭ¸¯ÇϽʽÿÀ.
319998
(http://support.microsoft.com/kb/319998/EN-US/
)
BUG: ADO¸¦ »ç¿ëÇÏ¿© Excel ¿öÅ©½ÃÆ® ¿ Äõ¸® ½Ã ¸Þ¸ð¸® ´©¼ö
ÀÌ ¹®Á¦°¡ ¹ß»ýÇÏ´Â »óȲ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "Ãß°¡ Á¤º¸" ÀýÀ» ÂüÁ¶ÇϽʽÿÀ.
ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é Jet 4.0 ¼ºñ½º ÆÑÀÇ Ãֽмºñ½º ÆÑÀ» ±¸ÇϽʽÿÀ. ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
239114
(http://support.microsoft.com/kb/239114/
)
¹æ¹ý: Microsoft Jet 4.0 µ¥ÀÌÅͺ£À̽º ¿£ÁøÀÇ Ãֽмºñ½º ÆÑÀ» ±¸ÇÏ´ÂÇÕ´Ï´Ù
Microsoft´Â ÀÌ ¹®¼ÀÇ ½ÃÀÛ ºÎºÐ¿¡ ³ª¿ÇÑ Á¦Ç°¿¡¼ ¹®Á¦¸¦ È®ÀÎÇß½À´Ï´Ù.
¹®Á¦¸¦ ÀçÇöÇϱâ À§ÇÑ ´Ü°è
- Microsoft Excel¿¡¼ ¿°í ÅëÇÕ ¹®¼¸¦ »õ·Î ¸¸µì´Ï´Ù.
- Sheet1¿¡ ÀÖ´Â ¼¿ A1ÀÇ ¿ÞÂÊ À§ ¿¡¼ ½ÃÀÛÇÏ¿© ´ÙÀ½ ¿¹Á¦ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇϽʽÿÀ.
Ç¥ Ãà¼ÒÇ¥ È®´ë
| ColumnA | ColumnB | ColumnC | ColumnD | ColumnE | ColumnF |
|---|
| 1 | 1 | Å×½ºÆ® | 1 | 1 | Å×½ºÆ® |
| 2 | 2 | Å×½ºÆ® | 2 | 2 | Å×½ºÆ® |
- ÅëÇÕ ¹®¼¸¦ Test.xls ÆÄÀÏ·Î ÀúÀåÇϽʽÿÀ. Excel ÀÀ¿ë ÇÁ·Î±×·¥À» ¿¾î µÐ »óÅ·ΠÀÖÁö¸¸ »õ ÅëÇÕ ¹®¼¸¦ ´Ý¾Æ¾ß ÇÕ´Ï´Ù.
- Microsoft Visual Basic¿¡¼ Ç¥ÁØ EXE ÇÁ·ÎÁ§Æ®¸¦ »õ·Î ¸¸µì´Ï´Ù. ±âº»ÀûÀ¸·Î Form1ÀÌ ¸¸µé¾îÁý´Ï´Ù.
- ÇÁ·ÎÁ§Æ® ¸Þ´º¿¡¼ ÂüÁ¶ ¸¦ ´©¸¨´Ï´Ù. »ç¿ë °¡´ÉÇÑ ÂüÁ¶ ¸ñ·Ï¿¡¼ ¼±ÅÃÇÑ Microsoft ActiveX µ¥ÀÌÅÍ °³Ã¼ 2. x ¶óÀ̺귯¸®.
- Form1 CommandButton ÄÁÆ®·Ñ¿¡ ³õÀº ´ÙÀ½ ´ÜÃßÀÇ Click À̺¥Æ® ÇÁ·Î½ÃÀú¿¡ ´ÙÀ½ Äڵ带 ºÙ¿© ³Ö½À´Ï´Ù. Âü°í°¡ ÀÌ Äڵ带 °¡¿îµ¥ ¿¿¡, ¿ CÀÇ
Private Sub Command1_Click()
Dim strCn As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
'Open connection
strCn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\Test.xls;" & _
"Extended Properties=Excel 8.0"
Set cn = New ADODB.Connection
cn.Open strCn
'Add new values.
Set rs = New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.Open "Select * from [Sheet1$]", cn, adOpenStatic, adLockOptimistic
.AddNew
.Fields("ColumnA").Value = 3
.Fields("ColumnB").Value = 3
.Fields("ColumnC").Value = ""
.Fields("ColumnD").Value = 3
.Fields("ColumnE").Value = 3
.Fields("ColumnF").Value = "testing"
.Update
.Close
End With
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
- Visual Basic Å×½ºÆ® ÇÁ·ÎÁ§Æ®¸¦ Test.xls ÅëÇÕ ¹®¼·Î °°Àº Æú´õ¿¡ ÀúÀåÇϽʽÿÀ.
- ÇÁ·ÎÁ§Æ®¸¦ ½ÇÇàÇÑ ¹× ´ÙÀ½ ´ÜÃ߸¦ Ŭ¸¯ÇϽʽÿÀ. óÀ½ ÀÖ´Â Visual Basic IDE (ÅëÇÕ °³¹ß ȯ°æ (¿¡), ÇÁ·ÎÁ§Æ®¸¦ ½ÇÇàÇÏ¸é ´ÙÀ½°ú °°Àº ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù.
·±Å¸ÀÓ ¿À·ù '-2147467259 (80004005)': ¼±ÅÃÇÑ µ¥ÀÌÅÍ Á¤·Ä ½ÃÄö½º¸¦ ¿î¿µ üÁ¦¿¡¼ Áö¿øµÇÁö ¾Ê½À´Ï´Ù.
À̰ÍÀº ¾Ë·ÁÁø ¹®Á¦ÀÔ´Ï´Ù.ÀÚ¼¼ÇÑ ³»¿ëÀº ¾Æ·¡ ¹®¼ ¹øÈ£¸¦ ´·¯ Microsoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¹®¼¸¦ Ŭ¸¯ÇϽʽÿÀ. 246167
(http://support.microsoft.com/kb/246167/EN-US/
)
Á¤·Ä ¼ø¼ ¿À·ù °³½Ã ADODB Recordset Excel XLS¿¡ ´ëÇÑ ½ÃÀÛ ½Ã°£
- ¿À·ù ¸Þ½ÃÁö ´ëÈ »óÀÚ¿¡¼ µð¹ö±× ¸¦ Ŭ¸¯ÇÑ ´ÙÀ½ °è¼Ó ÇÁ·ÎÁ§Æ®¸¦ ½ÇÇàÇÏ·Á¸é F5 ۸¦ ´©¸¨´Ï´Ù. ¾÷µ¥ÀÌÆ® µÎ ¹ø ½ÇÇàµÇ±â ¶§¹®¿¡ ÀÌ µ¥ÀÌÅÍ Çϳª ´ë½Å µÎ °³ÀÇ »õ·Î¿î ÇàÀ» »ðÀÔÇÕ´Ï´Ù À¯ÀÇÇϽʽÿÀ.
- ÇÁ·ÎÁ§Æ® Á¾·á ÆûÀ» ´Ý½À´Ï´Ù. Excel¿¡¼ Test.xls ´Ù½Ã ´ÙÀ½ Sheet1 µ¥ÀÌÅ͸¦ È®ÀÎÇϽʽÿÀ. ´ÙÀ½°ú °°Àº °á°ú°¡ ¿¹»óÇÑ:
Ç¥ Ãà¼ÒÇ¥ È®´ë
| ColumnA | ColumnB | ColumnC | ColumnD | ColumnE | ColumnF |
|---|
| 1 | 1 | Å×½ºÆ® | 1 | 1 | Å×½ºÆ® |
| 2 | 2 | Å×½ºÆ® | 2 | 2 | Å×½ºÆ® |
| 3 | 3 | | 3 | 3 | Å×½ºÆ® |
±×·¯³ª ´ÙÀ½ µ¥ÀÌÅ͸¦ ÂüÁ¶ÇϽʽÿÀ.
Ç¥ Ãà¼ÒÇ¥ È®´ë
| ColumnA | ColumnB | ColumnC | ColumnD | ColumnE | ColumnF |
|---|
| 1 | 1 | Å×½ºÆ® | 1 | 1 | Å×½ºÆ® |
| 2 | 2 | Å×½ºÆ® | 2 | 2 | Å×½ºÆ® |
| 3 | 3 | 3 | 3 | | Å×½ºÆ® |
ColumnC¿¡ »ðÀÔµÈ ºó ¹®ÀÚ¿ÀÌ ¹«½ÃµÇ¾ú½À´Ï´Ù ¹× ³ªÅ¸³ªÁö ¾Ê´Â °Íó·³ ³ªÅ¸³³´Ï´Ù. µû¶ó¼ ÀǵµÇÑ ´ë»óÀ¸·Î ¿ÞÂÊ¿¡ »ðÀÔµÈ ÇÑ ¿¿¡ ¸ðµç ÈÄ¼Ó ¼ýÀÚ °ªÀÌ ÀÖ½À´Ï´Ù. ÈÄ¼Ó ¹®ÀÚ¿ ¿ÀÌ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.
º¯Çü 1
Å×½ºÆ® µ¥ÀÌÅ͸¦ ´ÙÀ½°ú °°ÀÌ ±¸¼ºÇϽʽÿÀ.
Ç¥ Ãà¼ÒÇ¥ È®´ë
| ColumnA | ColumnB | ColumnC | ColumnD | ColumnE |
|---|
| 1 | Å×½ºÆ® | 1 | 1 | Å×½ºÆ® |
| 2 | Å×½ºÆ® | 2 | 2 | Å×½ºÆ® |
´ÙÀ½°ú °°ÀÌ »õ °ªÀ» Ãß°¡ÇÒ ±¸¿ªÀ» VBA ÇÁ·ÎÁ§Æ® ¼öÁ¤:
'Add new values.
Set rs = New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.Open "Select * from [Sheet1$]", cn, adOpenStatic, adLockOptimistic
.AddNew
.Fields("ColumnA").Value = 3
.Fields("ColumnB").Value = ""
.Fields("ColumnC").Value = 3
.Fields("ColumnD").Value = 3
.Fields("ColumnE").Value = "testing"
.Update
.Close
End With
Set rs = Nothing
cn.Close
Set cn = Nothing
Test.xls ¿¾úÀ» ¶§ Sheet1À» ´ÙÀ½ µ¥ÀÌÅ͸¦ Ç¥½ÃÇÕ´Ï´Ù.
Ç¥ Ãà¼ÒÇ¥ È®´ë
| ColumnA | ColumnB | ColumnC | ColumnD | ColumnE |
|---|
| 1 | Å×½ºÆ® | 1 | 1 | Å×½ºÆ® |
| 2 | Å×½ºÆ® | 2 | 2 | Å×½ºÆ® |
| 3 | | 3 | 3 | Å×½ºÆ® |
¾Ë¸² ºó ¹®ÀÚ¿ °ªÀ» ÇϳªÀÇ ¼ýÀÚ ¿ ¾Õ¿¡ ¶§ ÀÌ ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù.
º¯Çü 2
Å×½ºÆ® µ¥ÀÌÅ͸¦ ´ÙÀ½°ú °°ÀÌ ±¸¼ºÇϽʽÿÀ.
Ç¥ Ãà¼ÒÇ¥ È®´ë
| ColumnA | ColumnB | ColumnC | ColumnD | ColumnE | ColumnF | ColumnG |
|---|
| 1 | 1 | Å×½ºÆ® | Å×½ºÆ® | 1 | 1 | Å×½ºÆ® |
| 2 | 2 | Å×½ºÆ® | Å×½ºÆ® | 2 | 2 | Å×½ºÆ® |
´ÙÀ½°ú °°ÀÌ »õ °ªÀ» Ãß°¡ÇÒ ±¸¿ªÀ» VBA ÇÁ·ÎÁ§Æ® ¼öÁ¤:
'Add new values.
Set rs = New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.Open "Select * from [Sheet1$]", cn, adOpenStatic, adLockOptimistic
.AddNew
.Fields("ColumnA").Value = 3
.Fields("ColumnB").Value = 3
.Fields("ColumnC").Value = ""
.Fields("ColumnD").Value = ""
.Fields("ColumnE").Value = 3
.Fields("ColumnF").Value = 3
.Fields("ColumnG").Value = "testing"
.Update
.Close
End With
Set rs = Nothing
cn.Close
Set cn = Nothing
Test.xls ¿¾úÀ» ¶§ Sheet1À» ´ÙÀ½ µ¥ÀÌÅ͸¦ Ç¥½ÃÇÕ´Ï´Ù.
Ç¥ Ãà¼ÒÇ¥ È®´ë
| ColumnA | ColumnB | ColumnC | ColumnD | ColumnE | ColumnF | ColumnG |
|---|
| 1 | 1 | Å×½ºÆ® | Å×½ºÆ® | 1 | 1 | Å×½ºÆ® |
| 2 | 2 | Å×½ºÆ® | Å×½ºÆ® | 2 | 2 | Å×½ºÆ® |
| 3 | 3 | 3 | 3 | | | Å×½ºÆ® |
ADO µÎ °³ÀÇ ºó ¹®ÀÚ¿ °ªÀ» »ðÀÔÇÏ´Â °æ¿ì, ColumnC ¹× ColumnD¿¡ »ðÀÔµÈ ºó ¹®ÀÚ¿ÀÌ ¹«½ÃµÇ°í »ç¶óÁø °Íó·³ ³ªÅ¸³³´Ï´Ù. µû¶ó¼ ¸ðµç ÈÄ¼Ó ¼ýÀÚ °ªÀ» ÀǵµÇÑ ´ë»óÀ¸·Î ¿ÞÂÊ¿¡ »ðÀÔÇÑ µÎ °³ÀÇ ¿ÀÌ ÀÖ½À´Ï´Ù. ÈÄ¼Ó ¹®ÀÚ¿ ¿ÀÌ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·á ¹®¼¸¦ º¸·Á¸é ÇØ´ç ÀÚ·áÀÇ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
294410
(http://support.microsoft.com/kb/294410/EN-US/
)
ACC2002: Null Excel·Î ³»º¸³»¸é »ç¿ëÇÏ¿© ´ÙÀ½ Çʵå·Î µ¥ÀÌÅÍ ±³Ã¼
257819
(http://support.microsoft.com/kb/257819/EN-US/
)
HOWTO: Visual Basic ¶Ç´Â VBA¸¦ Excel µ¥ÀÌÅÍ·Î ADO »ç¿ë
±â¼ú ÀÚ·á: 314763 - ¸¶Áö¸· °ËÅä: 2005³â 9¿ù 26ÀÏ ¿ù¿äÀÏ - ¼öÁ¤: 1.2
º» ¹®¼ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
- Microsoft ActiveX Data Objects 2.1
- Microsoft ActiveX Data Objects 2.5
- Microsoft ActiveX Data Objects 2.6
- Microsoft OLE DB Provider for Jet 4.0
| kbmt kbhotfixserver kbqfe kbbug kbfix kbiisam kbjet kbqfe KB314763 KbMtko |
±â°è ¹ø¿ªµÈ ¹®¼Áß¿ä: º» ¹®¼´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼ ¹× ±â°è ¹ø¿ªµÈ ¹®¼¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼ ±â°è ¹ø¿ª ¹®¼¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.
´õ ÀÌ»ó Áö¿øµÇÁö ¾Ê´Â Á¦Ç°ÀÇ KB ³»¿ë¿¡ ´ëÇÑ °íÁö »çÇ×ÀÌ ¹®¼¿¡¼´Â Microsoft¿¡¼ ´õ ÀÌ»ó Áö¿øÇÏÁö ¾Ê´Â Á¦Ç°¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. µû¶ó¼ ÀÌ ¹®¼´Â "ÀÖ´Â ±×´ë·Î" Á¦°øµÇ¸ç ¾÷µ¥ÀÌÆ®µÇÁö ¾Ê½À´Ï´Ù.