设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3697|回复: 7
打印 上一主题 下一主题

[窗体] 如何打印子窗体数据?

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-4 12:37:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我用图中的放大镜来打开其相应的查询表再执行Access查询表的打印等操作。这样相当于又运行了一次查询。
现在我想做几个控件直接对窗体的查询结果进行打印、打印预览、选择记录打印、转化为Excel格式等操作。
不知用什么办法实现,怎么写?哪位大师给指点一下,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-1-4 13:20:04 | 只看该作者
做报表(Report)会不会?把查询做成一个报表就可以直接预览打印了~~
另外,用宏(Macro)可以直接导出Excel表格(output)
3#
 楼主| 发表于 2010-1-4 15:19:20 | 只看该作者
2# roych
关键是我的查询是动态的!
4#
发表于 2010-1-4 15:26:56 | 只看该作者
把报表和数据源设置成和子窗体数据源一样就行了
格式固定数据不固定的报表适合用Access
数据不固定但格式固定的报表适合用Excel
5#
 楼主| 发表于 2010-1-5 09:55:19 | 只看该作者
4# 红尘如烟
谢谢!由于子窗体源对象是变动的。其字段名称和字段个数不定。要去改每个控件的记录源。而且做个报表来实现其打印功能不就等于还要运行一次报表。我的表比较大,每个表都有几十万条记录,从这么大的几个表里找记录本来运行起来比较慢。
既然窗体上能显示出记录,应该有什么方法可以把窗体的记录读出来再进行操作,不知到能实现不,请哪位大侠指点下!谢谢!
6#
发表于 2010-1-5 13:40:41 | 只看该作者
如果你只是在子窗体中显示查询结果的话,不一定要在子窗体的源对象中使用窗体,可以将子窗体的源对象设为查询(类似于“查询.查询1”),这样打印时直接打印查询,查询也不用运行多次
7#
 楼主| 发表于 2010-1-5 13:49:53 | 只看该作者
如果你只是在子窗体中显示查询结果的话,不一定要在子窗体的源对象中使用窗体,可以将子窗体的源对象设为查询(类似于“查询.查询1”),这样打印时直接打印查询,查询也不用运行多次
红尘如烟 发表于 2010-1-5 13:40

我就是把子窗体的源对象设置成“查询.查询1",请问打印查询vba该怎么写?
8#
发表于 2010-1-5 13:56:32 | 只看该作者
查询方法可以在窗体中点击查询按钮后,用代码动态修改查询对象的SQL属性:

  1. Private Sub cmdQuery_Click()
  2.     Dim strSQL As String
  3.    
  4.     strSQL = "SELECT * FROM 表1 WHERE 字段1>=" & Me.文本框1
  5.     CurrentDb.QueryDefs("查询1").SQL = strSQL
  6.     Me.查询子窗体.SourceObject = "查询.查询1"
  7.     DoCmd.OpenQuery "查询1", acViewPreview
  8.    
  9. End Sub

复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-16 14:49 , Processed in 0.087326 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表