设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 奇怪为什么选用组合列表框不能实现功能?求高手指教!谢谢!

[复制链接]
跳转到指定楼层
1#
发表于 2011-9-12 14:10:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ntqxxx 于 2011-9-13 07:38 编辑

1、我建立了一个人员信息表,其中有部门编号
2、我给这个信息表建了一个带参数的查询,参数即为部门编号
3、我给上面的查询建立了一个报表,每次打印时会提示输入部门编号,只要正确即可将相应的部门编号后,这个部门的人员信息即可以打印出来。
4、我又建立了一个以信息表查询为数据源的窗体,将原来查询中的参数条件更改为[forms]![窗体2]![部门编号],在窗体上添加了一个文本框用来输入部门编号,添加了一个打印按钮代码如下:
If IsNull([部门编号]) Then
MsgBox "请输入部门编号"
DoCmd.GoToControl "部门编号"
Else

DoCmd.OpenReport "部门人员花名册", acViewPreview, , , acWindowNormal
End If

双击窗体后,在文本框中输入部门编号也可以自动打开报表预览。

到以上为止,基本实现我自己的想法。
星期二到单位一试,上面的代码无法打印,打印的是窗体而不是报表,哪位高手给指点一下!谢谢!

现在我不想每次都输入  部门号,我用了一个组合列表框,里面事先将所有部门编号都输入在里面,想每次打印选一下,然后 点击打印按钮,但这时却无法实现自动打开报表预览的功能。
百思不得解,希望高手给予指点。谢谢!

注:使用的是access2010版本。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-9-13 08:52:10 | 只看该作者
回LZ,2010的我没用过。
以下是2003的,不知是否适合你:
方法1.
把表作为报表的源,然后在窗体写下按钮:
Private Sub CmdPrint_Click()
    If IsNull(Me.Combo5) Then
        Msgbox "请先输入部门编号", VbInfomation + VbOkOnly
        Me.Combo5.SetFocus
    Else
        Dim strFilter As String
        strFilter = "[部门编号]=" & "'" & Me!Combo5 & "'"
        DoCmd.OpenReport "Rpt部门人员花名册", acViewNormal, , , , strFilter
    End If
End Sub

方法2.
把查询作为报表的源,然后在“部门编号”字段给参数:=Forms![frmxxx]![组合框]
假设窗体的组合框是Combo5,就在打印按钮写下:
Private Sub CmdPrint_Click()
    If IsNull(Me.Combo5) Then
        Msgbox "请先输入部门编号", VbInfomation + VbOkOnly
        Me.Combo5.SetFocus
    Else      
        DoCmd.OpenReport "Rpt部门人员花名册",acViewNormal
    End If
End Sub
3#
 楼主| 发表于 2011-9-13 23:18:05 | 只看该作者
谢谢,有用,虽然不能预览了,不过因为已经设计好报表了,直接打也行,再次感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-12 08:16 , Processed in 0.083658 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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