运行查询时出现“输入参数值”对话框

时间:2013-09-05 14:21:08

标签: sql ms-access ms-access-2010 query-parameters

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

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] & "*"));

1 个答案:

答案 0 :(得分:2)

当您运行这些查询并且控件名称正确时,表示{Form}中的[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的新手,也许您有一个文本框,其标题是“姓氏”,但文本框控件的名称实际上类似于“Text1”

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