SQL에서 새 Excel 시트로 데이터를 덤프 한 후 작업중인 보고서에서 트랜잭션 번호 열로 중복 레코드가 있는지 확인해야합니다. 열 AE (31)RemoveDuplicates가 중복을 찾지 못하면 Rows.Count가 행 수를 계산하지 못함
다음은 사용 된 행을 계산하고 범위를 정의하고 중복을 제거한 후 다시 계산 한 후 다음 함수의 새 범위를 정의하는 코드의 일부입니다.
//Removed duplicate transactions
int trnsCount = JobDataSheet.Rows.Count;
trnsCount = JobDataSheet.Cells[trnsCount, 1].End(Excel.XlDirection.xlUp).Row;
Excel.Range transRng = JobDataSheet.get_Range("A1:AE" + trnsCount);
transRng.RemoveDuplicates(31);
//Check if report has been run for 1 or multiple Jobs
int MyCount = JobDataSheet.Rows.Count;
MyCount = JobDataSheet.Cells[trnsCount, 1].End(Excel.XlDirection.xlUp).Row;
여기가 이상하게 들릴 곳입니다.
반 환 변수 는 RemoveDuplicate 기능이 하지 어떤 중복을 찾았어요 경우 마지막 행이 을 사용 찾을 실패합니다.
사례 포인트 : 보고서 10701에 RemoveDuplicate 키크가있는 경우 총 1415 행 (1333 개)이 제거됩니다.이 보고서의 경우 trnsCount가 1415 개의 행을 올바르게 계산하고 MyCount가 올바르게 1333을 계산합니다. 중복 후 행이 제거되었습니다.
보고서 14506에는 총 12 개의 행 (0 개의 중복)이 있으므로 RemoveDuplicate는이 보고서에서 행을 제거하지 않습니다. 이 보고서의 경우 trnsCount는 12 행을 올바르게 계산하지만 MyCount는 1 행만 계산합니다.
아이디어가 있으십니까? 당신의 변수 trnsCount
에