【问题标题】:MS Access VBA - SQL to retrieve Data from Form TextboxMS Access VBA - SQL 从表单文本框中检索数据
【发布时间】:2020-07-21 19:48:51
【问题描述】:

对不起,我是 VBA 的菜鸟,我在 MS ACCESS 的表单中创建了一个按钮,用于根据我在表单中的输入从表中检索数据。文本框的名称是 Quotation_Ref,下面是我的编码。 WHERE 语句我想使用我的文本框输入作为过滤掉不相关条目的条件。但它返回错误号:3061 = 参数太少。预期 1. 我可以在下面的编码中寻求帮助吗?谢谢!

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim SQL As String
Dim rs1 As DAO.Recordset
Dim i As Integer

'Show user work is being performed
DoCmd.Hourglass True

'*********************************************
'              RETRIEVE DATA
'*********************************************

SQL = "SELECT Quotation_Detail.[Quotation_Ref] AS [Quotation_Ref], Quotation_Detail.[L/I] AS [L/I], Quotation_Detail.Qty AS [QTY], Quotation_Detail.[U/I] AS [U/I], Quotation_Detail.[P/N] AS [P/N], " & _
"Quotation_Detail.Description AS [Description], Quotation_Detail.MFR AS [MFR], Quotation_Detail.MFC AS [MFC], Quotation_Detail.[A/C] AS [A/C] " & _
"FROM Quotation INNER JOIN Quotation_Detail ON Quotation.[Quotation_Ref] = Quotation_Detail.[Quotation_Ref]" & _
"WHERE [Quotation].[Quotation_Ref] = Me!Quotation_Ref.Text"

'Execute query and populate recordset
Set rs1 = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot)

【问题讨论】:

    标签: sql vba ms-access


    【解决方案1】:

    您需要将文本框中的值连接到 SQL 字符串中:

    SQL = "SELECT Quotation_Detail.[Quotation_Ref] AS [Quotation_Ref], Quotation_Detail.[L/I] AS [L/I], Quotation_Detail.Qty AS [QTY], Quotation_Detail.[U/I] AS [U/I], Quotation_Detail.[P/N] AS [P/N], " & _
    "Quotation_Detail.Description AS [Description], Quotation_Detail.MFR AS [MFR], Quotation_Detail.MFC AS [MFC], Quotation_Detail.[A/C] AS [A/C] " & _
    "FROM Quotation INNER JOIN Quotation_Detail ON Quotation.[Quotation_Ref] = Quotation_Detail.[Quotation_Ref]" & _
    "WHERE [Quotation].[Quotation_Ref] ='" &  Me!Quotation_Ref & "';"
    

    我假设Quotation_Ref 是一个文本字符串,所以我将它用单引号括起来——如果它是数字,则不需要这些。此外,您应该使用控件的.Value 属性(.Text 仅用于从控件中获取“未提交”数据),因为这是默认属性,所以可以省略。

    问候,

    【讨论】:

    • 非常感谢您的回答。我必须进一步将我的 Quotation_Ref 更改为短文本属性(它是数字)才能使其工作,这对我来说现在很好。再次感谢!
    猜你喜欢
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多