始终在微软访问表单中输入参数,即使脚本看起来正确

时间:2018-02-23 05:47:28

标签: sql ms-access

编辑:我想我不明白如何根据被调用的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子句?

0 个答案:

没有答案