|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 액세스 버전(2007-2016):
* 아래줄에 질문을 작성하세요 >>
adodb를 이용하여 두 개의 테이블을 열고, 레코드를 옮기는 프로시저입니다.
두 개의 테이블은 'rs'와 'rs발송대상'으로 설정했고, 'rs'의 레코드를 한 줄을 변수에 담은 후 'rs발송대상'에서 addnew 메소드를 활용하여 변수를 옮기는 프로시저 입니다. 이런 방식으로 여러번 프로시저를 만들었고 모두 문제없이 잘 작동되었는데, 이상하게 이번에는 [rs발송대상.addnew]에서 첨부한 오류가 계속 반복됩니다.
오류 메시지박스는 첨부파일에 올렸습니다. 그리고 코드는 다음과 같았습니다.
'1) tbl주문1다운 열기
Set rs = New ADODB.Recordset
rs.ActiveConnection = CurrentProject.Connection
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
' rs.CursorLocation = adUseClient
rs.Open "select * from tbl주문1다운 order by ID"
MsgBox "rs 레코드 숫자는: " & rs.RecordCount
If rs.EOF = True Or rs.BOF = True Then
MsgBox "발송 파일로 옮길 주문목록이 없습니다!"
Call 주문목록창_합계계산
Exit Sub
End If
'2) tbl주문2발송대상 열기
Set rs발송대상 = New ADODB.Recordset
rs발송대상.ActiveConnection = CurrentProject.Connection
rs발송대상.CursorType = adOpenDynamic
rs발송대상.LockType = adLockBatchOptimistic
rs발송대상.Open "select * from tbl주문2발송대상 order by ID"
'3) 레코드 옮기기
Dim xRcount As Integer
xRcount = 1
rs.MoveFirst
Do While rs.EOF = False
Call rsRecord복사_전체 '필드27까지 복사
rs발송대상.AddNew
**** 여기서 중단되면서 첨부한 오류메시지가 나옵니다.
Call rs발송대상붙여넣기_전체 '필드27까지 붙여넣기
rs발송대상.Update
' rs.Delete '옮긴 레코드 삭제.
' rs.Update
rs.MoveNext
xRcount = xRcount + 1
Loop
rs.Close
rs발송대상.Close
제가 무엇을 잘못했을까요? |
|