ADO liblary를 사용하여 SQL 문과 함께 작동하는 매크로를 만들려고 시도하지만 실제로는 6559 개의 레코드 만 반환하는 반면 내 테이블에는 72k 개의 레코드가 있습니다. 왜?ADO VBA 코드가 6559 레코드 만 반환하는 이유는 무엇입니까?
최근에 나는 실제로 코드가 6559를 반환하지 않지만 행 번호는 65537이라고 알았습니다. 따라서 시트의 행 수를 72092로 줄이면 더 적은 행 (6550)을 얻게됩니다.
또 다른 주목할 점은 rs.RecordCount가 "-1"을 반환한다는 것입니다.
다음은 내 하위 프로 용 코드입니다. SQL 문 (sqlstmt), 대상 시트 이름 (sheet_name) 및 대상 범위 (destination1)의 세 가지 매개 변수가 있습니다. 난 당신이 엑셀 2003 또는 워크 시트가 65,536 최대 행이있는 경우에는 이전 버전을 사용하는 추측하고있어 도움
ADO는 강제로 사용하지 않는 한 항상 레코드 세트를로드하지 않습니다. 모든 레코드를 읽으려면 rs.Open 뒤에 rs.MoveLast를 추가하십시오. –
감사하지만 실제로는 도움이되지 않습니다. ( – PtrZlnk