在组合框中输入参数值

Posted

技术标签:

【中文标题】在组合框中输入参数值【英文标题】:Enter Parameter Value on Combo box 【发布时间】:2018-02-06 15:33:57 【问题描述】:

我从搜索组合框中得到一个输入参数值。我已经检查了我的拼写。

它在下面突出显示-

Me.tbl_detailsubform1.Form.Requery 上的运行时错误 2001

访问 2010 代码:

Me.tbl_detailsubform1.Form.RecordSource = Task:

Function SearchCriteria()

Dim PN As String
Dim SN As String
Dim Task As String
Dim strCriteria As String

If IsNull(Me.cboProduct) Then
    PN = "[Product] like '*'"
Else
    PN = "[Product] = " & Me.cboProduct & ""
End If

If IsNull(Me.cboSerial) Then
    SN = "[Serial] like '*'"
Else
    SN = "[Serial] = " & Me.cboSerial & ""
End If

strCriteria = PN & " And " & SN
Task = "SELECT * FROM tbl_StockOut where " & strCriteria & " Order by PN asc"
Me.tbl_detailsubform1.Form.RecordSource = Task
Me.tbl_detailsubform1.Form.Requery

Me.Text89 = findRecordCount(Task)

If Me.Text89 = 0 Then
    MsgBox "No Record Found!", vbInformation, "Search Result"
End If

End Function

【问题讨论】:

我已尝试进行编辑,但请确认,或者更好的是 edit 自己,Me.tbl_detailsubform1.Form.RecordSource = Task: 是否应该与函数在相同的代码标签内,或者如果它是指示出问题的路线。 嗨,我做了间距并获得了参数值,然后是运行时错误 2001。它突出显示了 - Me.tbl_detailsubform1.Form.Requery 这是否与***.com/questions/37863630/…有关 快速谷歌搜索的错误似乎与取消的操作有关。 是的,我看过那个和其他几个,但我是一个学习者,所以真的不明白那个特别的反应吗?现在出现运行时错误 3061。 【参考方案1】:

假设[Product][Serial] 都是文本字段...

Debug.Print strCriteria 你可能需要这样做:

If IsNull(Me.cboProduct) Then
    PN = "[Product] like '*'"
Else
    PN = "[Product] = " & Chr(34) & Me.cboProduct & Chr(34)
End If

If IsNull(Me.cboSerial) Then
    SN = "[Serial] like '*'"
Else
    SN = "[Serial] = " & Chr(34) & Me.cboSerial & Chr(34)
End If

该字段或 PN 字段不存在,但您的 SELECT * 不应该导致问题。

【讨论】:

以上是关于在组合框中输入参数值的主要内容,如果未能解决你的问题,请参考以下文章

在 MS Access 组合框中,如何将表单值用作 where 类

组合框上的参数值

多值模糊查询报表的制作

仅当用户输入值时按参数搜索

未选择任何内容时将默认值保存在组合框中c#

MS ACCESS 2007 - 从子表单中的组合框中选择值会创建重复值