Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

返回列表 發(fā)新帖
查看: 4723|回復(fù): 5
打印 上一主題 下一主題

Access引用Excel創(chuàng)建數(shù)據(jù)透視表錯(cuò)誤

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2016-9-12 08:41:40 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 Henry D. Sy 于 2016-9-12 08:43 編輯

由于新版Access已經(jīng)不支持?jǐn)?shù)據(jù)透視表
所以想在A(yíng)ccess中直接操作Excel生成l數(shù)據(jù)透視表
(不是將表數(shù)據(jù)導(dǎo)出到Excel,然后在Excel創(chuàng)建)

過(guò)程運(yùn)行到注釋處錯(cuò)誤,請(qǐng)大家?guī)兔χ更c(diǎn)一下.

  1. Private Sub CreatePivotTable_Click()

  2.     Dim XLApp As Excel.Application
  3.     Dim XLB As Workbook
  4.     Dim XLS As Worksheet
  5.     Dim PC As PivotCache
  6.     Dim PT As PivotTable
  7.     Dim sSQL As String

  8.     sSQL = "SELECT STYLE,PO,SIZE,COLOR,QUANTITY FROM ORD"

  9.     Set XLApp = CreateObject("Excel.Application")

  10.     Set XLB = XLApp.Workbooks().Add
  11.     XLB.SaveAs CurrentProject.Path & "\A.xlsx"

  12. Set PC = ActiveWorkbook.PivotCaches.Add(xlExternal)
  13.     Set PC.Recordset = CurrentDb.OpenRecordset(sSQL)            '到此處出現(xiàn)錯(cuò)誤1004
  14.     Worksheets.Add
  15.     ActiveSheet.Name = "PivotSheet"
  16.     ActiveWindow.DisplayGridlines = False

  17.     Set PT = ActiveSheet.PivotTables.Add(PC, Range("A1"), "MyPivot")

  18.     With PT
  19.         .PivotFields("STYLE").Orientation = xlPageField
  20.         .PivotFields("PO").Orientation = xlRowField
  21.         .PivotFields("COLOR").Orientation = xlRowField
  22.         .PivotFields("SIZE").Orientation = xlColumnField
  23.         .PivotFields("QUANTITY").Orientation = xlDataField
  24.         .DataPivotField.Orientation = xlRowField
  25.     End With

  26. XLB.Save
  27.     XLApp.Visible = True

  28.     Set XLApp = Nothing
  29.     Set XLB = Nothing
  30.     Set XLS = Nothing
  31. End Sub
復(fù)制代碼



本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2016-9-12 17:23:30 | 只看該作者
回頭再看看,數(shù)據(jù)透視表不太熟。
3#
 樓主| 發(fā)表于 2016-9-12 19:18:50 | 只看該作者
roych 發(fā)表于 2016-9-12 17:23
回頭再看看,數(shù)據(jù)透視表不太熟。

謝謝你,
問(wèn)題自己解決了,忘了設(shè)定游標(biāo)為客戶(hù)端.
4#
發(fā)表于 2016-9-13 11:19:21 | 只看該作者
Henry D. Sy 發(fā)表于 2016-9-12 19:18
謝謝你,
問(wèn)題自己解決了,忘了設(shè)定游標(biāo)為客戶(hù)端.

PC.Recordset.CursorLocation =adUseClient?
大概是這個(gè)了。一般可以先判斷能不能讀取recordcount,如果讀取為-1,往往是這個(gè)問(wèn)題。前面講recordset時(shí),跟阿航討論過(guò)這個(gè)問(wèn)題。
5#
 樓主| 發(fā)表于 2016-9-13 12:12:18 | 只看該作者
roych 發(fā)表于 2016-9-13 11:19
PC.Recordset.CursorLocation =adUseClient?
大概是這個(gè)了。一般可以先判斷能不能讀取recordcount,如 ...

在打開(kāi)記錄集之前,設(shè)定游標(biāo),因?yàn)榇藭r(shí)游標(biāo)屬性為讀寫(xiě),
而記錄集打開(kāi)之后,該屬性為只讀
-----------------------
rs.CursorLocation =adUseClient
rs.Open sSQL..................
-----------------------------


6#
發(fā)表于 2023-2-27 08:56:50 | 只看該作者
Henry D. Sy 發(fā)表于 2016-9-13 12:12
在打開(kāi)記錄集之前,設(shè)定游標(biāo),因?yàn)榇藭r(shí)游標(biāo)屬性為讀寫(xiě),
而記錄集打開(kāi)之后,該屬性為只讀
---------------- ...

Henry D. Sy老師您好!您這個(gè)例子能否分享一下正確的,我目前也為access透視表問(wèn)題發(fā)愁呢?謝謝
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 06:32 , Processed in 0.083045 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表