2 테이블 'tbl_Images'및 'tbl_ImagesDetails'가 있습니다. 첫 번째 테이블에는 두 번째 테이블에서 찾을 수없는 ImageID가 있습니다.vb.net을 사용하여 일치하지 않는 레코드를 찾는 쿼리에서 MS Access의 행을 삽입하는 방법
먼저 일치하지 않는 레코드를 찾은 다음 두 번째 테이블에 결과 행을 추가하는 쿼리를 만들었습니다.
Access 2010에서 쿼리를 실행하면 확인 메시지가 표시되고 행이 추가됩니다.
그러나 VB.net에서 실행하면 행이 추가되지 않고 오류 메시지도 표시되지 않습니다. 여기에 코드입니다 :
Dim strsql As String = "INSERT INTO tbl_ImagesDetails (ImageID)
SELECT tbl_Images.ImageID
FROM tbl_Images LEFT JOIN tbl_ImagesDetails ON tbl_Images.[ImageID] = tbl_ImagesDetails.[ImageID]
WHERE (((tbl_Images.ImageID) Like 'ZOOMED*')
AND ((tbl_ImagesDetails.ImageID) Is Null));"
'Debug.Print(strsql)
Dim MyConn As New OleDbConnection(connString)
Dim cmd As New OleDbCommand(strsql, MyConn)
cmd.CommandType = CommandType.Text
If Not MyConn.State = ConnectionState.Open Then MyConn.Open()
Dim iResult As Integer = cmd.ExecuteNonQuery()
Return iResult
쿼리는 위의 9 개 행을 반환해야합니다,하지만 iResult = 0
내 질문 :
는 확인 대화 상자가 방해 받고 있습니까? 그렇다면 VB 코드를 사용하여 재정의하는 방법은 무엇입니까?
ExecuteNonQuery()는 한 번에 여러 행을 삽입 할 수 있습니까?
다른 검색어 (즉, 동일한 검색어)의 결과 인 행을 삽입하려면 어떻게해야하나요?
방금 발견 한 것 : Access에서 '보기'(그리드 아이콘이있는 아이콘)와 '실행'(느낌표가있는 아이콘)의 차이가 궁금합니다. 보기를 클릭하면 표가 9 행만 표시됩니다. 느낌표를 클릭하면 행이 추가됩니다. '실행'하도록 VB 코드가 있습니까? – Jnnno