运行时错误';28';:Excel VBA和Excel中的堆栈空间不足崩溃

运行时错误';28';:Excel VBA和Excel中的堆栈空间不足崩溃,excel,vba,Excel,Vba,我能够运行代码并建立连接,但当我试图使用VBA从Excel向MySQL数据库插入数据时。它显示“28:堆栈外空间” 我有一个代码,这是这里的数据 Name Analyst Method Numsample Condition AAA AAA AAA 2 ABC 下面是我写的代码 作为ADODB.连接的Dim oConn 私有子连接数据库() 关于错误转到错误句柄 Set oConn=新的ADODB.Con

我能够运行代码并建立连接,但当我试图使用VBA从Excel向MySQL数据库插入数据时。它显示“28:堆栈外空间”

我有一个代码,这是这里的数据

Name     Analyst     Method    Numsample   Condition
AAA       AAA        AAA         2           ABC
下面是我写的代码


作为ADODB.连接的Dim oConn
私有子连接数据库()
关于错误转到错误句柄
Set oConn=新的ADODB.Connection
打开“DRIVER={MySQL ODBC 5.1 DRIVER};”_
“服务器=*******************t-1.rds.amazonaws.com;”和_
“数据库=工作表;”&_
“用户=***;”&_
“密码=****;”&_
“选项=3”
将rs设置为ADODB.Recordset
Set rs=New ADODB.Recordset
连接数据库
用wsBooks
对于rowCursor=2到3
strSQL=“插入测试实验(实验名称、实验方法、实验分析员、实验样本、实验条件)”&_
“值('”&esc(.Cells(rowCursor,1))&“,”和_
“'”&esc(.Cells(rowCursor,2))&“,”和_
“'”&esc(.Cells(rowCursor,3))&“,”和_
“'”&esc(.Cells(rowCursor,4))&“,”和_
esc(.Cells(rowCursor,5))&“
rs.开放式strSQL、oConn、adOpenDynamic、ADLOCK
下一个
以
MsgBox“连接成功”
出口:
Set con=Nothing'释放所有集合对象
出口接头
错误句柄:
MsgBox错误号&“:”&错误说明
复出
端接头
函数esc(txt作为字符串)
esc=修剪(替换(txt,“'”,“\”))
端函数
对于VBA来说是完全陌生的,只是学习代码可能会有一些错误。如果可以的话,请帮助我。

堆栈空间不足”是VBA的
堆栈溢出例外。这意味着您无意中编写了递归逻辑,该逻辑永远不会逃避递归,继续挖掘,再深入挖掘,……直到调用堆栈完全填满,VBA无法再跟踪返回的位置

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
    ConnectDB '<~ recursive call!
    With wsBooks
将rs作为ADODB.Recordset进行调整
Set rs=New ADODB.Recordset

ConnectDB'如果您试图插入数据而不返回记录集,请尝试
oConn。执行strSQL
而不是
rs。打开strSQL、oConn、adOpenDynamic、adlockoptimious
。不确定您是否需要此处的记录集。您正在从ConnectDB.Line 16或附近调用ConnectDBthere@RBarryYoung这就解决了问题。这样愚蠢的错误。非常感谢。