[SQL] 엑셀 2013 이상 65536 행 오류 쿼리
SQL엑셀 2013 이상 65536 행 오류 쿼리
내가 VBA를 사용하여 스프레드 시트를 조회하려고하고 (나는 엑셀 2013을 실행하고 있지만) 65536 행 보이는 하드 제한에 반대 실행하고 있습니다.
행의 수 나는 다음과 같은 오류 메시지가 65536 이상이고 모든 행을 선택하려고 할 때 :
Microsoft Access 데이터베이스 엔진은 개체를 찾을 수 없습니다 'Sheet1의 $ A1 : A65537를'.....
내 코드 :
Option Explicit
Sub ExcelQuery()
Dim conXLS As ADODB.Connection
Dim rsXLS As ADODB.Recordset
Dim strPath As String
Dim strSQL As String
Dim i As Integer
'Get the full directory + file name location of the current workbook (so it can query itself)'
strPath = Application.ActiveWorkbook.FullName
'create the ADO connection to the excel file'
Set conXLS = New ADODB.Connection
With conXLS
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & strPath & ";" & _
"Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1;Readonly=False"""
End With
conXLS.Open
strSQL = "" & _
"SELECT " & _
"* " & _
"FROM " & _
"[Sheet1$A1:A65537] "
'create ADO recordset to hold contents of target sheet.'
Set rsXLS = New ADODB.Recordset
With rsXLS
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly
.LockType = adLockReadOnly
End With
'using SQL return contents of the target sheet'
rsXLS.Open strSQL, conXLS
'disconnect the active connection'
Set rsXLS.ActiveConnection = Nothing
'Return results to excel'
Sheets("Sheet2").Cells(1, 1).CopyFromRecordset rsXLS
Set rsXLS = Nothing
'destroy the connection object'
conXLS.Close
Set conXLS = Nothing
End Sub
또한 연결 문자열을 시도 :
With conXLS
.Provider = "Microsoft.Jet.OLEDB.12.0"
.ConnectionString = "Data Source=" & strPath & ";" & _
"Extended Properties=Excel 12.0;"
.Open
나는 "OLE 자동화"를 "Microsoft ActiveX 데이터 6.0 개체 라이브러리"를로 설정 참조를 가지고있다.
흥미롭게도, MSQuery를를 사용하는 경우에는 문제가 없을 것 같습니다.
해결법
-
==============================
1.(2007 년 이전) 이전 Excel 버전은 참으로 워크 시트 당 일부 65K + 행의 제한이 있습니다. 코드를 실행하고 모든 개체 lib 디렉토리가 / 엑셀 2007 w를 시작하고 참조 (워크 시트 당 최대 1,048,576 행, 해방 버전 상응 12.x 이상). 대신 [Sheet1의 $ A1 : A65537]의 : 관련 귀하의 경우에, [A Sheet1의 $ A] 표기법 사용하려고 RGDS을,
(2007 년 이전) 이전 Excel 버전은 참으로 워크 시트 당 일부 65K + 행의 제한이 있습니다. 코드를 실행하고 모든 개체 lib 디렉토리가 / 엑셀 2007 w를 시작하고 참조 (워크 시트 당 최대 1,048,576 행, 해방 버전 상응 12.x 이상). 대신 [Sheet1의 $ A1 : A65537]의 : 관련 귀하의 경우에, [A Sheet1의 $ A] 표기법 사용하려고 RGDS을,
-
==============================
2.나는 오래 전에이 문제가 발생했습니다. 내가 한 일은 이런 식으로 내 쿼리를 작성했다 :
나는 오래 전에이 문제가 발생했습니다. 내가 한 일은 이런 식으로 내 쿼리를 작성했다 :
select Data from [Temp$]
온도 내 시트 이름이었다 경우, 셀의 내용은 A1이었다 "데이터"와 A2의 내용 : A80000은 IDS했다
그것은했다.
from https://stackoverflow.com/questions/24472183/querying-more-than-65536-rows-error-in-excel-2013 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 서버 데이터 루프 2005 재귀 쿼리는 - 그것이 가능할까요? (0) | 2020.07.06 |
---|---|
[SQL] 오라클에서 SELECT 문의 결과 목록을 쉼표로 구분 [중복] (0) | 2020.07.06 |
[SQL] PHP와 SQL 경로 저장 파일을 업로드 (0) | 2020.07.06 |
[SQL] 여러 데이터 세트를 기반으로 BIRT 보고서를 만드는 방법 (0) | 2020.07.06 |
[SQL] SQL Server 2008의 로그 파일 (* .LDF)을 읽기 (0) | 2020.07.06 |