2017-12-05 1 views
0

이 오류가 계속.간단한 명령 MS Access에 Excel 데이터 추가.</p> <blockquote> <p>Run-time error '3464': Data type mismatch in criteria expression</p> </blockquote> <p>나는이 얻을 수있는 일반적인 오류 알지만, 포럼에서 질문의 내 경우 없음에 해당하는 것 같다 "기준 식에서 데이터 형식이 일치하지"

이것은 내 코드이며 Excel과 Access에서 필드 이름이 같은지 여러 번 확인했습니다. Access 테이블의 내 필드 중 하나가 확인란 일 수 있습니까? 해당 필드에 대해 True/False 값을 Excel의 값으로 사용하고 있습니다.

Private Sub cmdImportMaintJobs_Click() 

    xlsMaintFile = OpenFileDialog(CurrentProject.Path & "\", "*.xls?", "MS Excel sheet", "*.xls; *.xlsx", "Select Excel file with Maintenance Jobs data") 

    If Len(xlsMaintFile) > 0 Then 
    CurrentDb.Execute "INSERT INTO tblMaintJob SELECT * FROM [Maint Jobs$A1:I50000] IN '" & xlsMaintFile & _ 
     "' [Excel 5.0;HDR=YES;IMEX=1] WHERE MoldID <> 0 " 
    MsgBox "All done!", vbInformation, "Information" 

    End If 

End Sub 
+0

테스트로 시작하려면 insert 문에 하드 코딩 된 값을 사용해보십시오. – Alex

+0

스택 오버플로에 오신 것을 환영합니다! [둘러보기]는 물론 [ask]와 [mcve]도 확인하십시오. (또한'code blocks'에서 코드를 읽는 것이 더 쉽습니다. :-) – ashleedawg

답변

1

Excel에서 임시 테이블로 데이터를 가져 오는 것이 좋습니다. 모든 필드는 텍스트 여야합니다. 그런 다음 명시 적 변환 및 유효성 검사를 통해 가져온 데이터를 작업 테이블에 복사 할 수 있습니다. 그렇지 않으면 다른 데이터 파일과 비슷한 문제가 발생할 수 있습니다.

관련 문제