【发布时间】:2017-09-25 15:08:44
【问题描述】:
我正在使用 MS Access VBA 从 iSeries 表中导入。有时 IBM 表可以是空的,这没关系。但是,当发生这种情况时,我会收到 VBA 错误 3021 - 我是否需要更改我的代码,或者我可以直接取消显示错误消息。这是我的代码:
Set rs = New ADODB.Recordset
rs.Open sSQL, cn, adOpenDynamic, adLockOptimistic
'Open recordset to local table
Set rsL = New ADODB.Recordset
rsL.Open sTBL, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
rs.MoveFirst
Debug.Print "AS400"
Do Until rs.EOF
Debug.Print rs.Fields("DROP"), rs.Fields("STDATE"), rs.Fields("ENDATE")
rsL.AddNew
rsL.Fields("DROP") = rs.Fields("DROP")
rsL.Fields("STDATE") = rs.Fields("STDATE")
rsL.Fields("ENDATE") = rs.Fields("ENDATE")
rsL.Update
rs.MoveNext
Loop
'Test to check if above code actually worked
rsL.MoveFirst
Debug.Print "Local"
Do Until rsL.EOF
Debug.Print rsL.Fields("DROP"), rsL.Fields("STDATE"), rsL.Fields("ENDATE")
rsL.MoveNext
Loop
'Clear memory
Set rs = Nothing
Set rsL = Nothing
Set cn = Nothing
【问题讨论】: