2009-11-16 93 views
5

如何将按钮添加到Microsoft Access报告中以将其导出到Excel/PDF?如何将按钮添加到Access报告以将其导出到Excel/PDF?

+5

这怎么不是编程? – JeffO 2009-11-16 16:32:06

+0

GuinnessFam。我同意你的意见,并在meta.stackoverflow.com上提出这个问题。老百姓同意我的问题,所以他们已经重新解答了这个问题。 – 2009-11-17 00:34:27

+0

我认为这是一个很好的问题,但它看起来像一个或评论暗示它可能是一个有问题的问题可能已被删除。真的吗?在上下文中,有四个人赞成JeffO的“这不是编程吗?”评论,而@托尼 - 托伊斯回答了吉尼斯法文不存在的评论。有人可以解释吗? – 2015-11-04 19:00:34

回答

2

基督教曾建议在窗体上一个命令按钮,但你也可以创建一个工具栏上有一个按钮,该报告将报告导出到Excel中。但正如托尼所说,结果会很糟糕。

我要说的是更有用的是一个按钮,导出到Excel电子表格显示在报表中的数据。格式化不会很好,但它会更加有用和可操作。为此,您需要使用DoCmd.TransferSpreadsheet和已保存的Query作为您的导出源(相当于报告的记录源)。

+0

使用HTML可以在Excel中获得相当不错的格式,并且在VBA中使用模板并填充空白并不困难。 – Fionnuala 2009-11-17 11:30:53

+0

Excel是否接受HTML而不做特别的事情? Word不能通过自动化处理它(或者,至少我没有发现如何) - 这让我感到我的评论主要原因,那就是http://www.codinghorror.com/blog/archives /001311.html,我们将讲解解析HTML。有解析HTML的Access可用解决方案吗?我需要它不好! – 2009-11-18 00:10:57

3

Modules: Sample Excel Automation - 通过细胞的细胞是缓慢

Modules: Transferring Records to Excel with Automation

注意虽然建议Excel自动化实际上是对一个查询作为报表导出到Excel使他们非常难看。如果我正确地记得在Access 2007中删除了此功能。

A2000ReportToPDF是一个Access 2000数据库,其中包含将Reports和Snapshot文件转换为PDF文档的功能。不需要PDF打印机驱动程序。自由。

+0

Tony根据Allen Browne在http://allenbrowne.com/Access2007.html中导出的Excel问题在A2007 SP2中得到修复。 – 2009-11-18 00:09:11

1

AFAIK你不能“添加”它的报告。但打开的报告的形式,你可以添加一个按钮,用下面的代码:

DoCmd.OutputTo acOutputReport, "ReportName", acFormatXLS, 
"c:\YourFolderName\ReportName - " & Format(Date, "yyyymmdd") & ".xls" 

Only Access 2007 has support for PDF's。所以,你要么需要安装一个PDF打印机或使用托尼·托斯建议

+0

基督徒,你有没有试过将报告导出到Excel?这真是丑陋。 其实A2007确实有内置的PDF支持,所以我应该提到。 – 2009-11-17 02:43:10

+0

@Tony托斯 - 只是因为你并不意味着你应该... – 2009-11-17 07:38:16

+0

PDF导出是很容易在早期版本的Access添加,要么与斯蒂芬Lebans'快照转换器,或通过使用类似的PDFCreator,这是自动化来自VBA。 – 2009-11-18 00:11:59

5

我只是结合了一些以前的答案,这是我最后的代码块出口的报告到Excel,然后打开该Excel文件。

Private Sub Command79_Click() 
'initialize variables 
Dim strReportName As String 
Dim strPathUser As String 
Dim strFilePath As String 

'set variables 
strReportName = "AlarmLetterForSF" 
strPathUser = Environ$("USERPROFILE") & "\my documents\" 
strFilePath = strPathUser & strReportName & Format(Date, "yyyymmdd") & ".xls" 

'export to excel 
DoCmd.OutputTo acOutputReport, strReportName, acFormatXLS, strFilePath 

'launch excel file 
Dim Shex As Object 
Set Shex = CreateObject("Shell.Application") 
Shex.Open (strFilePath) 

末次