访问DoCmd.OpenReport条件问题

时间:2016-06-05 17:42:23

标签: sql forms access

我正在尝试打印报告,比如发票。但是我对Cmd.OpenReport函数有一个问题。

我查询了带有参数的发票。

SELECT EMPLEADOS.CODIGO, EMPLEADOS.NOMBRE, PAGOS.Fecha, PAGOS.Descripcion,
       CONCEPTOS.Descripcion, DETALLE_PAGOS.Monto
FROM ((EMPLEADOS INNER JOIN PAGOS ON EMPLEADOS.CODIGO = PAGOS.EmpleadoID)
      INNER JOIN DETALLE_PAGOS ON PAGOS.IDPago = DETALLE_PAGOS.IDPago)
      INNER JOIN CONCEPTOS ON CONCEPTOS.ConceptoID = DETALLE_PAGOS.Concepto
WHERE PAGOS.IDPago = [COD_PAGO];

我将此查询与报告结合在一起。当我打开报告时,我必须输入发票的ID。

enter image description here

没关系。但是我必须用Form打印这个报告,我创建了一个要打印的Button,代码是

Private Sub txtPrint_Click()
If MsgBox("¿Deseas imprimir?", vbYesNo) = vbYes Then
    //OTHER FUNCTIONS

    DoCmd.OpenReport "ReportePago", acViewPreview, , "[COD_PAGO]=" & IDPago.Value

End If

End Sub

IDPago.Value - >我有一个隐藏的TextBox,用于存储发票的ID。 但当我再次点击打印按钮时会出现消息框

enter image description here

如果我插入发票的ID,请打印报告,但我不想插入要打印的ID。我该怎么做才能解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

从查询中删除WHERE子句,在结果集中包含PAGOS.IDPago列,然后在调用OpenReport时传递没有表别名的条件:

DoCmd.OpenReport "ReportePago", acViewPreview, , "IDPago=" & IDPago.Value