【问题标题】: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
  • 快速谷歌搜索的错误似乎与取消的操作有关。
  • 是的,我看过那个和其他几个,但我是一个学习者,所以真的不明白那个特别的反应吗?现在出现运行时错误 3061。

标签: vba ms-access


【解决方案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 * 不应该导致问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 2020-01-26
    • 2018-08-21
    • 2017-11-16
    • 2021-10-06
    • 2020-06-17
    相关资源
    最近更新 更多