printing - VBA代码循环记录集并根据文本框值打印不同的报告
问题描述
我需要根据文本框值打印不同的报告。我创建了简单的数据库。我有一张包含三个字段的表:记录编号、绿色和红色。一个查询从表中提取所有信息。一个带有打印按钮的表格,代码如下。我有 2 个基本报告 一个名为 rptred 和 rptgreen,在报告中它只是在文本框中提取记录号。我想要做的是当我点击打印时,如果文本框绿色有 Y,文本框红色有 N,那么我想打印一个绿色报告,报告上有记录号。如果文本框是绿色 N 和红色 Y,那么我希望它打印出带有记录号的红色报告。我试图在一个简单的数据库中完成这项工作,我可以在更复杂的数据库中使用代码。目前,我正在为每条记录获取正确的报告,但我没有在我的报告中获得文本框信息。表数据类型中的每个字段都是短文本。
当前代码:
选项比较数据库选项显式
Private Sub cmdprint_Click()
Dim rst As DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb()
Set rst = db.OpenRecordset("qrywpcmain")
Do While Not rst.EOF
If rst!Green.Value = "Y" Then
DoCmd.OpenReport "rptgreen", acViewNormal, , "[Record Number] ="" & [Record
Number]&"""
DoCmd.Close acReport, "rptgreen"
End If
If rst!red.Value = "Y" Then
DoCmd.OpenReport "rptred", acViewNormal, , "[Record Number]= "" & [Record
Number]&"""
DoCmd.Close acReport, "rptred"
End If
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
Set db = Nothing
End Sub
任何帮助是极大的赞赏。
解决方案
推荐阅读
- node.js - 使用 Node.js 删除文件
- python - ImportError 没有名为“PyPDF2”的模块
- python - 一组整数元组的内存高效数据结构
- openssl - openssl 无法加载私钥 PEM_do_header:bad decrypt
- c - 从 uint64_t 转换为 double 会导致值不正确
- java - Jhipster 项目不断尝试使用错误的数据库
- sql - 如何使用检查编译器错误修复触发器?
- ffmpeg - 我的单行 ffmpeg 命令有误
- python - 使用 Python HTML 在 AWS Lambda 函数中为电子邮件模板迭代列表
- node.js - 在 Internet Explorer 11 中运行 Meteor 应用程序时出错