vba - 试图打开特定记录的报告,但它一直显示所有记录 - 有点?
问题描述
我有一个包含几个子报告的报告,这些子报告都是从同一个表中提取数据。我将它们制作为子报告的唯一原因是使用 Access 创建报告时的大小限制(21 英寸问题)。我有frmService
从另一个表单加载的表单()(frmWorkOrders
但我认为这并不重要),它在tblServiceRecord
. 表单正确打开,对同一条记录正确操作,但是frmService
我有一个控件(按钮)可以打开报告(rptServiceRecord
),因此我们可以为客户打印记录。无论如何,报告总是会显示每条记录的一部分,但不会显示多条记录的所有部分。
我有几个子报告(srptFirstStage
、srptSecondStage
等),打印每条记录的仅有的两个子报告是上面列出的两个。所有其他子报表只打印我希望它打印的关联记录,即使数据库中有多个记录。最奇怪的部分,也是让我无法解决这个问题的部分,是所有子报告都是平等创建的。报告本身有一个过滤器(见下面的代码),但没有一个子报告有这个过滤器。我还将过滤器负载检查为Yes
. 我还尝试使用以下 SQL 使用查询来创建此报告:
SELECT tblServiceRecord.*, tblWorkOrder.Task, [FName] & " " & [LName] AS FullName, "WD0" & [tblWorkOrder]![ID] AS WorkOrder
FROM tblServiceRecord INNER JOIN (tblCustomers RIGHT JOIN tblWorkOrder ON tblCustomers.ID = tblWorkOrder.CustomerID) ON tblServiceRecord.WorkOrderID = tblWorkOrder.ID
WHERE (((tblServiceRecord.WorkOrderID)=[Forms]![frmService]![txtWO]));
在数据表视图中显示查询会显示正确的信息,并且不会列出表中的多行。所以我不完全确定为什么报告确实显示多行,即使第二行srptFirstStage
和srptSecondStage
正在显示的是空白。
rptServiceRecord
要从我使用的控件
打开报告 ( ):
Private Sub Command275_Click()
On Error GoTo Command275_Click_Err
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "rptServiceRecord", acViewPreview, , "[WorkOrderID] = Forms.[frmService].[txtWO]", acNormal
Command275_Click_Exit:
Exit Sub
Command275_Click_Err:
MsgBox Error$
Resume Command275_Click_Exit
End Sub
解决方案
WorkOrderID
如果是数字字段,请尝试此操作:
DoCmd.OpenReport "rptServiceRecord", acViewPreview, , "[WorkOrderID] = " & Forms("frmService")("txtWO").Value, acNormal
WorkOrderID
如果是字符串字段,请尝试此操作:
DoCmd.OpenReport "rptServiceRecord", acViewPreview, , "[WorkOrderID] = '" & Forms("frmService")("txtWO").Value & "'", acNormal
推荐阅读
- jquery-file-upload - 如何使用 jquery-fileupload multiple 将文件保存在数据库中
- mysql - SQL 查询执行缓慢
- c# - 如何隐藏添加到数据库的记录的增量插入?
- identityserver4 - IdentityServer和客户端外部登录
- r - 如何使用 seq() 创建以毫秒(分秒)为增量的日期/时间列
- gitlab - 未找到 Gitlab CI 页面
- node.js - 节点中的 Google AppEngine createUploadUrl
- xamarin.forms - 通过 gmail/playstore 检测 Xamarin Forms 移动应用更新
- haskell - Haskell将多个参数缩写为单个变量
- google-app-engine - dev_appserver.py 抛出无法识别的参数:--datastore_emulator_cmd