Excel VBA SQL ADODB未将行插入工作表(无错误)
我的insert语句一直在工作,但随机停止插入,直到我进入要插入的工作簿并手动更改某些内容并保存 db工作簿当前大约有15000行以前插入过,但现在当我运行宏时,它不会插入任何内容,也没有错误。我已经仔细阅读了代码,每一行都正常执行 我需要帮助弄清楚为什么什么都没有被插入,当它以前的工作Excel VBA SQL ADODB未将行插入工作表(无错误),sql,excel,vba,Sql,Excel,Vba,我的insert语句一直在工作,但随机停止插入,直到我进入要插入的工作簿并手动更改某些内容并保存 db工作簿当前大约有15000行以前插入过,但现在当我运行宏时,它不会插入任何内容,也没有错误。我已经仔细阅读了代码,每一行都正常执行 我需要帮助弄清楚为什么什么都没有被插入,当它以前的工作 Sub Insert Dim con As ADODB.Connection Dim InsertSQL As String InsertSQL = "INSERT INTO [She
Sub Insert
Dim con As ADODB.Connection
Dim InsertSQL As String
InsertSQL = "INSERT INTO [Sheet1$] ([FIELD1],[FIELD2],[FIELD3],[FIELD4],[FIELD5]) VALUES( 1234567895,9350.00,#9/12/2019#,'username',#9/12/2019 10:05 AM#)"
Set con = New ADODB.Connection
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbpath & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=0""; Mode=ReadWrite;"
con.Execute InsertSQL
con.Close
End Sub
编辑:
我已在db工作簿的前8行中设置了默认值,以避免对以下中指定的数据类型造成任何限制:
这是Jet OLEDB提供程序的一个问题。它看的是前8个
用于确定每列中的数据类型的电子表格行。如果
列中不包含超过256个字符的字段值
前8行,然后它假定数据类型为text,它具有
字符限制为256。下面的知识库文章提供了更多信息
关于这个问题:
此问题可能是由于工作表中的一些空行造成的,但我无法确认。删除InsertSql周围的括号。不更改结果在插入时目标工作簿是否打开或关闭?它将始终关闭可能是网络写入权限已更改?