나는이 문제에 대해 잠시 생각을 해왔으며 해결책이 있는지 궁금해하고있었습니다.Excel 시트에서 WHERE 조건을 사용하여 Access 데이터베이스에 필드를 삽입하는 방법
그래서 나는이 칼럼과 R1라는 테이블이 있습니다 [학과]와 [DepartmentQV] Access에서, [부서] 열은 값으로 몇 가지 필드가 있지만 [DepartmentQV] 열은
또한 비어 엑셀에 [Department] 열과 [DepartmentQV] 열이있는 스프레드 시트가 있어야합니다. [Department] 열은 Access의 열과 동일하지만 [DepartmentQV] 열에는 값이 있습니다.
내가 원하는 것은 ADODB와 SQL을 사용하여 [DepartmentQV] 값을 Excel 시트에서 [Department] 값이 일치하는 Access 데이터베이스로 가져 오는 것입니다.
불행히도, 이것은 전혀 작동하지 않습니다. "하나 이상의 매개 변수에 필요한 값이 없습니다."라는 동일한 오류가 계속 발생하여 완전히 의아해합니다. 어떤 도움을 주시면 감사하겠습니다! 이 시간을내어 읽어 주셔서 감사합니다!
보다도, 커트
여기에 지금까지 내 코드입니다!
lastRow = ActiveWorkbook.ActiveSheet.Range("B" & ActiveWorkbook.ActiveSheet.Rows.Count).End(xlUp).Row
Set cn = CreateObject("ADODB.Connection")
dbPath = glob_sdbPath
dbWb = Application.ActiveWorkbook.FullName
dbWs = ActiveWorkbook.ActiveSheet.Name
scn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath
dsh = "[" & Application.ActiveSheet.Name & "$B2:C" & lastRow & "]"
cn.Open scn
sSql = "INSERT INTO R1([Department_QV])"
sSql = sSql & " SELECT [Spoilage] FROM [Excel 12.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh & " WHERE " & dsh & ".[Department] = R1.[Department]"
cn.Execute sSql
B2 : Cx 범위에서 헤더 행을 생략 하시겠습니까? 이 경우 레코드 세트에는 원하는 이름이 없습니다. 또한 SQL이 이상합니다. 새 행을 INSERT하거나 기존 행을 UPDATE하려고합니까? – VBlades
헤더 행은 실제로 B2 : C2에 있으며 실제로 기존 행을 업데이트하려고합니다. 난 항상 adodb 및 액세스와 함께 업데이 트를 사용하는 데 문제가 있었습니까, 당신은 당신이 할 것이라고 내가 바라는 것을 구현할 수있는 방법을 알지 못했을까요? 아직도 운이 아직까지 한숨 – bluecat