1

我有一个表单,其中包含两个用于搜索名字和姓氏的文本框以及一个用于运行查询的按钮。但是,当单击该按钮时,会为每个文本字段显示输入参数值对话框。另外,我还有另一个文本框和按钮来搜索职位,同样的事情也会发生。我在access 2007中使用相同的代码(在工作中使用2010)在家中创建了一个测试数据库和表单,并且没有出现该对话框。我对访问很陌生,所以我可能忽略了一些东西。但是,我不知道它是什么。我在这里和谷歌搜索了一个解决方案,但没有任何效果。任何帮助是极大的赞赏。

SELECT dbo_Apptable.AppID, dbo_Apptable.Date, dbo_Apptable.Position, dbo_Apptable.Referral, dbo_Apptable.LastName, dbo_Apptable.FirstName
FROM dbo_Apptable
WHERE (((dbo_Apptable.LastName) Like "*" & Forms![Main Menu]![Last Name] & "*") And ((dbo_Apptable.FirstName) Like "*" & Forms![Main Menu]![First Name] & "*"));


SELECT dbo_Apptable.AppID, dbo_Apptable.Date, dbo_Apptable.Position, dbo_Apptable.Referral, dbo_Apptable.LastName, dbo_Apptable.FirstName
FROM dbo_Apptable
WHERE (((dbo_Apptable.Position) Like "*" & [Forms]![Main Menu]![Position] & "*"));
4

1 回答 1

2

当您运行这些查询并且控件名称正确时,您指示[Main Menu]在表单视图中打开。然而 Access 要求您为表单控件提供值。这意味着数据库引擎找不到那些表单控件,我不明白为什么会这样。

我建议您尝试一个更简单的查询,它只关注那些控件。

SELECT
    Forms![Main Menu]![Last Name] AS main_menu_last_name,
    Forms![Main Menu]![First Name] AS main_menu_first_name,
    Forms![Main Menu]![Position] AS main_menu_position

该查询不会解决问题,但它可能有助于避免对查询其他部分的干扰。

如果这个简单的查询也失败,请三重检查表单控件的名称。由于您是 Access 新手,也许您有一个标题为"Last Name"的文本框,但文本框控件的名称实际上类似于"Text1"

另一方面,如果 Access 为您提供了这些表单控件的值而没有错误,则意味着您的查询中的其他内容被解释为参数。

于 2013-09-05T16:20:25.530 回答