Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]如何在报表的打印预览窗口增加自己的命令

刘小建  发表于:2013-06-12 18:41:44  
复制

我从打印预览视图打印报表时,是通过一个自定义的工具栏,也可以通过菜单,但是这两种方式实际都是使用现成的命令,不能增加自己的命令,不能写什么代码,就是直接打印,连打印对话框都没有出现。如果有个通常的按钮什么的,不是就可以写代码了吗?

我是想在打印时生成收据编号,用竹笛老师的自动编号方法(在中级01里学到的)。因为只有在真正打印之前生成编号才好,所以我想到上面的问题,请老师给予指点,谢谢!

下面是我照猫画虎改写的,我想这样就可以在打印之前改写表的内容,在收据编号的字段写上自动生成的编号,然后打印出来。

Private Sub cmdAdd_Click()
Dim strSQL As String
Dim str员工编码 As String

Me.frmChild.Form.AllowAdditions = True
str员工编码 = 自动编号("同", 6, "tbl员工编码", "ygID")

strSQL = "insert into tbl员工编码 (ygID) select '" & str员工编码 & "' "
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True

strSQL = "UPDATE tbl员工编码 SET tbl员工编码.ygxm = '张' & '" & str员工编码 & "' " _
  & "WHERE (((tbl员工编码.ygID)= '" & str员工编码 & "'));"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True

Me.frmChild.Requery
End Sub

 

 

Top
殷小宝 发表于:2013-06-12 23:39:44

str员工编码 = 自动编号("同", 6, "tbl员工编码", "ygID"),此句中自动编号在平台上函数为  AccHelp_AutoID其语法是:

语法: AccHelp_AutoID(prefixion As String, IDlength As Integer, tblName As String, fldName As String) 

故应这样写:str员工编码 = AccHelp_AutoID("同", 6, "tbl员工编码", "ygID")

打印代码:

DoCmd.OpenReport "rp新合同收据", acViewNormal

直接打印代码:DoCmd.PrintOut





刘小建 发表于:2013-06-14 16:30:03
谢谢啦!我还没有理解您说的方法,我把自己的代码写到一个窗体的按钮里,没能照我的期望打出编号。等一些天长进了,我再试试。

刘小建 发表于:2013-10-10 10:59:45
啊,我现在明白了,不是在报表预览窗口加按钮,是在窗体上,先保存、再打印。我把老师这代码试试用一下。谢谢老师!

总记录:3篇  页次:1/1 9 1 :