Printing VBA代码,用于循环记录集并基于文本框值打印不同的报告

Printing VBA代码,用于循环记录集并基于文本框值打印不同的报告,printing,Printing,我需要根据文本框值打印不同的报告。我创建了一个简单的数据库。我有一个表,有三个字段:记录编号、绿色和红色。一个查询从表中提取所有信息。一个带有打印按钮的表单,代码如下。我有两个基本报告,一个名为rptred和rptgreen,在报告上,它只是在文本框中提取记录编号。 我想做的是,当我单击打印时,如果文本框绿色有Y,文本框红色有N,那么我想打印一份绿色报告,报告上有记录编号。如果文本框为绿色N和红色Y,则我希望它打印出带有记录编号的红色报告。我试图在一个简单的数据库中实现这一点,这样我就可以在更复

我需要根据文本框值打印不同的报告。我创建了一个简单的数据库。我有一个表,有三个字段:记录编号、绿色和红色。一个查询从表中提取所有信息。一个带有打印按钮的表单,代码如下。我有两个基本报告,一个名为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
非常感谢您的帮助