【发布时间】:2017-07-12 06:51:39
【问题描述】:
所以我想将查询结果插入到数组中,然后我将遍历数组以将新行插入到新表中。 这是我完成的代码:
Public cnn As New ADODB.Connection
Public db As DAO.Database
Public Sub SUD_Main()
Set db = Access.Application.CurrentDb
Set cnn = CurrentProject.Connection
Refreash
End Sub
Private Sub Refreash()
Dim DataArr() As String
Dim p As Variant
Dim sql As String
Dim XDATA As New ADODB.Recordset
Dim RDS As DAO.Recordset
Set RDS = db.OpenRecordset("tbl_dets")
sql = "SELECT DISTINCT NAME FROM Types_tbl WHERE NAME LIKE 'Rob%'"
XDATA.Open sql, cnn, adOpenStatic
'''
'' HERE I WANT TO FILL DataArr FROM XDATA
'''
DataArr = XDATA.GetRows
XDATA.Close
For Each p In DataArr
sql = "SELECT DISTINCT TID FROM Types_tbl WHERE NAME ='" & p & "'"
XDATA .Open sql, cnn, adOpenStatic
Do Until XDATA.EOF
DoEvents
'''Inserting new records to tbl_dets
RDS.AddNew
RDS!Name = p
RDS!TID= XDATA!TID
RDS.Update
XDATA.MoveNext
Loop
XDATA.Close
Next
End Sub
那么我错过了什么?我认为错误在数组中,但不知道如何修复它。
【问题讨论】:
-
您遇到的错误是什么?
-
DataArr = XDATA.GetRows上的类型不匹配 -
XDATA.GetRows ----- 将多个记录从 Recordset 对象复制到二维数组中,并且您正尝试将输出添加到字符串中。我想这可能是问题
-
我还有其他方法可以将记录添加到动态数组吗?
标签: mysql arrays ms-access vba