编辑:我想我不明白如何根据被调用的frmInvoice
使用/检索子表单的内容。 frmInvoice
使用tblInvoice
这是一个存档表,或者在保存发票之前无法获取记录的表。然而,子形式加载(在我开始使用所有这些之前)所有正确的信息?
果然编辑frmInvoice显示Filter字段是where子句。所以我想我不遵循子表单如何获得正确的groupID(在原始示例中)并根据此工作流程从这些查询中显示正确的信息。
我正在尝试为某人修复数据库,我对访问vba不太熟悉。所以我很困惑,为什么以下不起作用。我有一个表单,单击一个按钮时。它打开另一个带子表单的表单。我更改了一些查询以包含另一个要键入的字段。所以我在这里有这个脚本:
Private Sub GroupAddress_DblClick(Cancel As Integer)
Dim intGroup As Integer
Dim stDocName As String
Dim stLinkCriteria As String
intGroup = Me![GroupID]
strGroupName = Me![Group]
stDocName = "frmInvoice"
stLinkCriteria = "[GroupName]='" & strGroupName & "'"
DoCmd.Close
DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub
设置GroupName的行不起作用,要我输入参数GroupName。但如果我用这一行替换它:
stLinkCriteria = "[GroupID]= " & intGroup
工作正常!毫无疑问
子窗体记录源位于:
SELECT qryInvoiceSubformSHANE.Provider, qryInvoiceSubformSHANE.GroupID, qryInvoiceSubformSHANE.Dues, qryInvoiceSubformSHANE.Adjustment, qryInvoiceSubformSHANE.AdjustmentDescription, qryInvoiceSubformSHANE.GroupName FROM qryInvoiceSubformSHANE;
来自(qryInvoiceSubformSHANE)的查询在此处:
SELECT tblProvider!ProviderLName & ", " & tblProvider!Designation & ", " & tblProvider!ProviderFName AS Provider, tblProvider.GroupID, tblDesignation.Dues, tblProvider.Adjustment, tblProvider.AdjustmentDescription, tblProvider.GroupName
FROM tblGroup INNER JOIN (tblDesignation INNER JOIN tblProvider ON tblDesignation.DesignationID = tblProvider.DesignationID) ON tblGroup.GroupID = tblProvider.GroupID;
所以不确定为什么这不能用GroupName作为where子句?