Access 테이블의 값과 일치하는 경우 Excel에서 행을 삭제하는 것이 액세스 VBA : 셀 값은 내가 액세스 VBA 스크립트가
- 루프 ,691 :
- 는
가 한 단계를 추가하는 Access 테이블에 시트에서 데이터를 가져옵니다
- 열
Field1
의 Excel 값을 액세스 테이블Exclude
의 값 목록과 비교하고 일치하는 항목이 있으면 Excel에서 전체 행을 삭제하십시오.Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("SELECT * FROM FileList") rs.MoveFirst Dim appExcel As Excel.Application Set appExcel = New Excel.Application Dim objWorkbook As Excel.Workbook Dim objSheet As Excel.Worksheet Do Until rs.EOF = True strFilePath = rs!FilePath Set objWorkbook = appExcel.Workbooks.Open(strFilePath) For Each objSheet In objWorkbook.Sheets objSheet.Select strQuery = "INSERT INTO tblImport (Field1) SELECT [Field1] FROM [Excel 8.0;HDR=YES;DATABASE=" & strFilePath & "].[" & objSheet.Name & strRange & "]" CurrentDb.Execute strQuery, dbFailOnError ***Add Code Here to Delete Rows in Excel where value found in Exclusion table*** Next objSheet Set objSheet = Nothing objWorkbook.SaveAs FileName:=strFilePath, FileFormat:=xlExcel8 objWorkbook.Close SaveChanges:=False Set objWorkbook = Nothing rs.MoveNext Loop
을 내가 다른 레코드 집합 어둡게해야합니다 확신합니다 : : 그런 다음
Dim rsExclude AS Recordset Set rsExclude = CurrentDb.OpenRecordset("SELECT * FROM Exclude")
을
여기에 새로운 코드 가야 나타내는 메모와 함께 단순화 된 코드입니다 뭐? 또는 누군가 다른 방법을 추천 할 수 있습니까?
오해. Access 테이블에서 데이터를 삭제하고 싶지 않습니다. Excel 스프레드 시트에서 관련 행을 삭제하려고합니다. (더 명확하게하기 위해 설명이 업데이트되었습니다.) – Matt
Access로 가져 오기 전에 데이터를 삭제하여 데이터베이스에 없거나 이후에 없으므로 db에 레코드 사본이 있습니까? – APrough
제 의도는 영구적 인 레코드를 유지하기 위해 모든 데이터를 가져온 다음 수정 된 데이터를 클라이언트에 전달해야하는 Excel 쪽 레코드를 삭제하는 것입니다. – Matt