Office中国论坛/Access中国论坛

标题: 如何通过一个按钮根据窗体组合框内容选择打印不同报表?(有附件) [打印本页]

作者: snow0011    时间: 2012-2-7 08:51
标题: 如何通过一个按钮根据窗体组合框内容选择打印不同报表?(有附件)
      如何通过一个按钮根据窗体组合框内容选择打印不同报表?
[attach]48258[/attach]
    有“格式1”“格式2”两张不同的报表,要是有两个按钮就不存在这个问题,分开打印就行了,现在是只想通过一个按钮,选择性打印。如果通过组合框手动输入非列表内容,默认打印“格式1"。
作者: 最耀B    时间: 2012-2-7 13:03
来看看的啊!!!
作者: aslxt    时间: 2012-2-7 13:31
Private Sub Command14_Click()
  Select Case MsgBox("是要打印格式1报表吗?" & Chr(13) & "要打印格式1单击【是】" & Chr(13) & "要打印格式2单击【否】", vbYesNoCancel)
  Case vbYes
    DoCmd.OpenReport "格式1", acViewPreview
  Case vbNo
    DoCmd.OpenReport "格式2", acViewPreview
  Case Cancel
  
  End Select
End Sub

作者: snow0011    时间: 2012-2-7 14:08
aslxt 发表于 2012-2-7 13:31
Private Sub Command14_Click()
  Select Case MsgBox("是要打印格式1报表吗?" & Chr(13) & "要打印格式1 ...

aslxt老师:
    谢谢你的回复,可能我表述得不太清楚,我是想根据窗体上的“内容”这个组合框里的内容来自动选择“格式1”或“格式2”,即点击“打印按钮”时,不用点“是”或“否”,就自动打印,不知道能不能实现,万分感谢!
   “内容”组合框的内容与打印格式的对应关系来自:表“工作内容”,如果表内没有定义的,默认打印“格式1"。
作者: aslxt    时间: 2012-2-7 14:15
标题: 2
本帖最后由 aslxt 于 2012-2-7 14:18 编辑

Private Sub Command14_Click()
  Select Case 内容
  Case "内容值1"
    DoCmd.OpenReport "格式1", acViewPreview
  Case "内容值2"
    DoCmd.OpenReport "格式2", acViewPreview
  End Select
End Sub


作者: aslxt    时间: 2012-2-7 14:18
本帖最后由 aslxt 于 2012-2-7 14:30 编辑

之前没有看到你的“工作内容”的表:
1、查询的条件应该为:[forms]![派工单管理]![编号]
2、代码:
Private Sub Command14_Click()
   Dim a
   a = DLookup("打印格式", "工作内容", "内容='" & 内容 & "'")
   DoCmd.OpenReport a, acViewPreview

End Sub

作者: snow0011    时间: 2012-2-7 15:35
aslxt 发表于 2012-2-7 14:18
之前没有看到你的“工作内容”的表:
1、查询的条件应该为:[forms]![派工单管理]![编号]
2、代码:

       真的非常谢谢老师,还得麻烦您一下:

    按照您最后一段代码,能够实现按设置好的列表内的内容输入时,自动选择报表,但我发现输入非列表内容时,则出现错误提示,如图。
[attach]48264[/attach]


   不知能不能实现输入非列表的内容时,也可以打印,并默认为打印“报表1”
作者: aslxt    时间: 2012-2-7 16:48
Private Sub Command14_Click()
   Dim a
   a = Nz(DLookup("打印格式", "工作内容", "内容='" & 内容 & "'"), "格式1")
   DoCmd.OpenReport a, acViewPreview
End Sub

作者: snryga    时间: 2015-9-12 16:36
学习学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3