访问查询:输入参数值

时间:2016-06-07 19:50:47

标签: ms-access

我是使用此数据库的几个人之一。我是唯一一个得到这个错误的人。

当我打开名为frmEmployeeDetails的表单时,有一个组合框应该填充查询结果。如果我尝试选择组合框,它会给我一个“输入参数值”提示,询问Forms!frmEmployeeDetails.Caption。表单的标题是“EMPLOYEE DETAILS”,但键入该表单不会使组合框工作。组合框的查询要求[FORMS]![frmEmployeeDetails].[Caption]

据我所知,我是唯一一个遇到此错误的人。它只在我的计算机上发生,无论打开的数据库版本是什么(更新都没有修复它)。重新安装Access也没有修复它。我还尝试在查询中输入[FORMS]![frmEmployeeDetails].[Caption]并让它自动填充,以确保没有拼写错误。

这是组合框的行源。

SELECT tblFormDataTables.DataID
  , tblFormDataTables.Data 
FROM tblFormDataTables 
WHERE (((tblFormDataTables.Location)=[FORMS]![frmEmployeeDetails].[Caption])) 
ORDER BY tblFormDataTables.Data;

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

如果您是唯一一个从多个用户中收到此错误的人,那么我建议您使用Dim SelRange As Range Dim ColNum As Integer Dim CWS As Worksheet, TmpWS As Worksheet 'Find the column number where the column header is Set CWS = ActiveSheet ColNum = Application.WorksheetFunction.Match("Employee ID", CWS.Rows(1), 0) 'Set the column range to work with Set SelRange = CWS.Columns(ColNum) 'Add a worksheet to put '1' onto the clipboard, ensures no issues on activesheet Application.ScreenUpdating = False Application.DisplayAlerts = False Set TmpWS = ThisWorkbook.Worksheets.Add With TmpWS .Cells(1, 1) = 1 .Cells(1, 1).Copy End With 'Select none blank cells using special cells...much faster than looping through all cells Set SelRange = SelRange.SpecialCells(xlCellTypeConstants, 23) SelRange.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply TmpWS.Delete CWS.Select Application.DisplayAlerts = True Application.ScreenUpdating = True - > Database Tools

如果这不能解决此问题,请尝试从正常运行的人员计算机上重新复制数据库。

似乎你的组合框已经以某种方式与其Compact and Repair无关。您还可以测试此计算机上的其他用户是否存在相同的问题。

答案 1 :(得分:0)

我不知道为什么它在您的计算机上不起作用,但在其他计算机上却起作用。但是,要使其工作,您可以创建一个隐藏文本框,该文本框设置为表单标题,并将查询条件替换为对隐藏文本框的引用。