MS Access:没有给出一个或多个必需参数的值

时间:2015-02-19 08:48:05

标签: ms-access vbscript asp-classic

我正在尝试将以下查询运行到MS Access数据库(来自.asp页面):

SELECT firstname, lastname, emp_id FROM employees ORDER BY firstname

但是,我收到错误

No value given for one or more required parameters.

现在,如果我排除“emp_id”(主键)字段,查询运行正常。我确保该字段存在且查询中没有拼写错误。

如果我通过MS Access GUI运行查询,则会出现一个弹出窗口,要求我输入emp_id字段的“参数值”。这可能就是为什么它不起作用,为什么会发生呢?

从数据库中获取员工:

Function GetEmployees()

    Dim employeesRS, sqlGetEmployees, employeesList, e

    Set employeesList = CreateObject("System.Collections.ArrayList")

    sqlGetEmployees = "SELECT firstname, lastname, emp_id FROM employees ORDER BY firstname"

    Set employeesRS = db.connTb.execute(sqlGetEmployees) 'Custom class to simplify db-querying

    While Not employeesRS.EOF

        Set e = new Employee

        e.Firstname = employeesRS("firstname")
        e.Lastname = employeesRS("lastname")
        e.Id = employeesRS("emp_id")

        employeesList.Add(e)

        employeesRS.MoveNext
    Wend

    employeesRS.Close

    Set GetEmployees = employeesList

End Function

表结构的截图:(您可能已经注意到,我在我的帖子中翻译了表和代码,以使其更具可读性。但代码/表字段之间的关系是相同的。)

enter image description here

1 个答案:

答案 0 :(得分:4)

解决:

MS Access中的查询结果视图显示字段名称为" emp_id",但实际名称为" employee_id"。

使用数据库的程序曾经是一个Access-forms应用程序,因此在查询结果视图中的列上的名称与实际名称不同(出于某种原因,我不知道为什么这听起来像是一个好主意)