我有一段代码如下麻烦帮忙看看是哪里的问题,运行后写入目标表格的是空值代码如下:DimdalistAsObjectSetdalist=CreateObject("Scripting.Dictionary")Setrs=NewADODB.RecordsetCallc...
我有一段代码如下麻烦帮忙看看是哪里的问题,运行后写入目标表格的是空值
代码如下:
Dim dalist As Object
Set dalist = CreateObject("Scripting.Dictionary")
Set rs = New ADODB.Recordset
Call connectDB
rs.Open "select A_code,B_code,C_code,D_code,E_code from `" & Codet & "`", conn
Do While Not rs.EOF()
dalist(rs(0)) = Array(rs(1), rs(2), rs(3), rs(4), rs(5), rs(6), rs(7), rs(8))
' 有检查过单步运行,rs返回数据正常
rs.MoveNext
Loop
For i = 2 To Cells(Rows.Count, "N").End(xlUp).Row
da = Cells(i, "N").Value
If dalist.Exists(da) Then
Cells(i, "O").Resize(5, 1) = dalist(da)
' Cells(i, "O").Value = daList(da)
Else
Cells(i, "O").Resize(5, 1) = Empty
' 检查单步运行发现直接跳到这里,也就是前面的if判断为在dalist中没有找到da,但实际da是存在于数据库中的,也rs单步返回数据也观察到,是不是哪里没对导致字典数据被清空了?
End If
Next i
rs.Close: Set rs = Nothing
conn.Close: Set conn = Nothing
展开