0
Microsoft Access VBA를 사용하여 iSeries 테이블에서 가져옵니다. 가끔 IBM 테이블은 비어있을 수 있습니다. 그러나 VBA 오류 3021이 발생하면 코드를 변경해야합니까? 아니면 오류 메시지를 표시하지 않을 수 있습니까? 여기 내 코드입니다 :ms 액세스 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
주 - 그것은에 항상 첫 번째 레코드 (있는 경우) 또는 EOF (없는 경우). – Andre
아 - 팁 주셔서 고마워요. – Michael