Board logo

標題: [發問] 資料庫抓取超過65536如何產生新工作表 [打印本頁]

作者: rouber590324    時間: 2015-6-22 14:54     標題: 資料庫抓取超過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
作者: jackyq    時間: 2015-6-24 21:21

EXCEL 2007 開始支援超過 65536 萬筆
你可以考慮用 EXCEL 2007 以上版本
作者: rouber590324    時間: 2015-6-25 08:47

DEAR  jackyq  SIR
  THANKS*10000




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)