Printing VBA代码,用于循环记录集并基于文本框值打印不同的报告
我需要根据文本框值打印不同的报告。我创建了一个简单的数据库。我有一个表,有三个字段:记录编号、绿色和红色。一个查询从表中提取所有信息。一个带有打印按钮的表单,代码如下。我有两个基本报告,一个名为rptred和rptgreen,在报告上,它只是在文本框中提取记录编号。 我想做的是,当我单击打印时,如果文本框绿色有Y,文本框红色有N,那么我想打印一份绿色报告,报告上有记录编号。如果文本框为绿色N和红色Y,则我希望它打印出带有记录编号的红色报告。我试图在一个简单的数据库中实现这一点,这样我就可以在更复杂的数据库中使用代码。目前,我正在为每条记录获取正确的报告,但我没有在报告中获取文本框信息。 表数据类型中的每个字段都是短文本 当前代码: 选项比较数据库 选项显式Printing VBA代码,用于循环记录集并基于文本框值打印不同的报告,printing,Printing,我需要根据文本框值打印不同的报告。我创建了一个简单的数据库。我有一个表,有三个字段:记录编号、绿色和红色。一个查询从表中提取所有信息。一个带有打印按钮的表单,代码如下。我有两个基本报告,一个名为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
非常感谢您的帮助