我有一个表单,其中包含两个文本框,用于搜索名字和姓氏以及运行查询的按钮。但是,单击该按钮时,将为每个文本字段显示“输入参数值”对话框。此外,我有另一个文本框和按钮来搜索位置,同样的事情发生。我使用相同的代码(在工作中使用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] & "*"));
答案 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为您提供了这些表单控件的值而没有错误,则表示您的查询中的其他内容被解释为参数。