返回列表 上一主題 發帖

[發問] 資料庫抓取超過65536如何產生新工作表

[發問] 資料庫抓取超過65536如何產生新工作表

DEAR ALL 大大
1.如圖一為自動抓取資料庫內之資料.
  1.1 資料 <=65536 均無問題.
2.但資料庫抓取超過65536則會秀出提示 資料65536 無法全部顯示
3.請教如何增加判斷程式.當 >65536 時自動產生SHEET2  SHEET3 ......將資料庫資料ALL抓取
4.煩不吝賜教.

圖一
Sub 自動抓取資料庫()
    Sheet1.Visible = True
    Sheet1.[a1:iv65536].ClearContents
    Sheet1.Select
    Range("A1").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER={Microsoft ODBC for Oracle};UID=URCE01B;PWD=*****;SERVER=jsrs05a;", _
        Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT TBDD2002.TITLE, TBDD2002.PN, TBDD2002.ENG, TBDD2002.PCBKIND, VWDD80022.PN, VWDD80022.PN_S, VWDD80022.BQTY, VWDD80022.PQTY, VWDD80022.TSTATUS, VWDD80022.SUPPLY, VWDD80022.POINT, VWDD80022.ASSIST" _
        , _
        "ANT, VWDD80022.DWMK, VWDD80022.MEM, VWDD80022.CHGID, VWDD80022.CHGNM, VWDD80022.CHGDATE, VWDD80022.DWDATE, TBDD2002.CSTNAME, TBDD2002.DIRCU" & Chr(13) & "" & Chr(10) & "FROM URCE01P.TBDD2002 TBDD2002, URCE01P.VWDD80022 VWDD80022" & Chr(13) & "" & Chr(10) & "WHERE TBDD2002.PN = VWDD80022.PN" _
        )
        .Name = "來自 PDM DATA 的查詢_1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
    End With

End Sub
羅

EXCEL 2007 開始支援超過 65536 萬筆
你可以考慮用 EXCEL 2007 以上版本

TOP

DEAR  jackyq  SIR
  THANKS*10000
羅

TOP

        靜思自在 : 手心向下是助人,手心向上是求人;助人快樂,求人痛苦。
返回列表 上一主題