2016-10-24 1 views
1

"CurrentDb.Execute strSQL_Insert_Data"라는 줄에 내 코드가 하위에서 빠져 나가고 있습니다. 왜 이런 일이 일어나고 있는지 아십니까? 내 Access SQL VBA 코드가 Sub에서 튀어 나오는 이유는 무엇입니까?

Local_Array = Array("dbo_Tape_Capture_Local_tbl", "dbo_Tape_Local_tbl", "dbo_Tape_Memo_Local_tbl") 
    Server_Array = Array("dbo_Tape_Capture", "dbo_Tape", "dbo_Tape_Memo") 

For i = 0 To UBound(Local_Array) 
    strSQL_Insert_Data = "INSERT INTO [" & Local_Array(i) & "] " & _ 
         "SELECT [" & Server_Array(i) & "].* " & _ 
         "WHERE (LEFT([" & Server_Array(i) & "].header__situs_loan_id," & _ 
          Len([Forms]![Login Page]![CBO_Job_Select_Login]) & ") = " & _ 
         "[Forms]![Login Page]![CBO_Job_Select_Login]);" 

CurrentDb.Execute strSQL_Insert_Data 

CurrentDb.Close 

Next i 

는 code--

INSERT INTO [dbo_Tape_Capture_Local_tbl] SELECT [dbo_Tape_Capture].* 
WHERE (LEFT([dbo_Tape_Capture].header__situs_loan_id,14) = [Forms]![Login Page]![CBO_Job_Select_Login]); 
+2

주기 내에서 DB 연결을 닫지 마십시오. – Arvo

+1

이것은 문제를 재현 할 수있는 가장 간단한 코드는 아닙니다. 예를 들어, 가능한 가장 간단한 삽입 작업을 수행하면 어떻게됩니까? 그 때 작동합니까? 그렇다면 sql이 문제입니다. 인쇄하여 수동으로 실행하십시오. 그렇지 않으면 DB 연결이 잘못되었을 수 있습니다. 루프를 완전히 제거하고 삽입물을 1 개만 제거하십시오. 삽입 권한이 없을 수도 있습니다. 질문 범위를 좁히려 고 시도한 것에 대한 자세한 정보를 추가하십시오. – Bohemian

+0

안녕하세요 보헤미안. 나는 허락을 받았어. 그러나 어떤 오류라도 발견 할 수 있는지 확인하기 위해 코드를 인쇄했습니다 –

답변

3

검색어에 FROM TableName이없는 인쇄 --Added. TableName을 실제 테이블 이름으로 바꾸십시오.

strSQL_Insert_Data = "INSERT INTO [" & Local_Array(i) & "] " & _ 
        "SELECT [" & Server_Array(i) & "].* " & _ 
        "FROM [" & Server_Array(i) & "] " & _ 
        "WHERE (LEFT([" & Server_Array(i) & "].header__situs_loan_id," & _ 
         Len([Forms]![Login Page]![CBO_Job_Select_Login]) & ") = " & _ 
        "[Forms]![Login Page]![CBO_Job_Select_Login]);" 
+1

감사합니다. 필자는 Access Query Builder로 테스트했지만 다른 것을 생성했음을 알았습니다. (FROM 라인을 포함하지 않았습니다). 그러나 귀하의 솔루션은 효과가있었습니다! –

+0

@ConradAddo 다행입니다! –