Ms access 双击列表打开表单

Ms access 双击列表打开表单,ms-access,ms-access-2007,Ms Access,Ms Access 2007,我才刚刚开始在Access 2007中创建表单,如果我在列表框中单击客户的姓名,我会尝试使用客户信息打开一个表单 以下是查找查询的内容: SELECT msm_customers_extended.id AS ID, UCase([filed_name]) AS [Customer Name], UCase([address1]) & " " & UCase([address2]) AS Address FROM msm_customers_extended ORDER BY U

我才刚刚开始在Access 2007中创建表单,如果我在列表框中单击客户的姓名,我会尝试使用客户信息打开一个表单

以下是查找查询的内容:

SELECT msm_customers_extended.id AS ID, UCase([filed_name]) AS [Customer Name], UCase([address1]) & " " & UCase([address2]) AS Address
FROM msm_customers_extended
ORDER BY UCase([filed_name]);
因此,我将绑定列设置为“1”,将控制源设置为“Customer ID”。我将双击事件下的宏设置为:

行动:OpenForm 论据:

  • 表格名称:客户详细信息
  • 视图:表单
  • 过滤器名称:(空白)
  • 其中条件:[ID]=[客户ID]
  • 数据模式:(空白)
  • 窗口模式:对话框

当我测试它时,我得到一个输入框,上面写着“客户ID”,所以我假设我没有从我的列表框中获取ID。如何从列表中获取ID,以链接到我正试图打开的第二个表单?

更改以下位置条件:

Where Condition: [ID] = [Customer ID]
为此:

"[ID]=" & Me![Customer ID] 

您必须告诉it从何处提取客户ID。通过使用,
Me
您让它知道它来自该表单

正如蓝脚人所说,你应该改变你的状况。由于您使用的是宏,而不是VBA,请尝试将Where条件更改为:

[ID] = Forms!CustomerListFormName!ListBoxName 

尽管宏是发现Access的属性和事件的极好方法,但我鼓励您在开始掌握属性和事件后立即切换到VBA。变量、错误处理、可读性、VBA将使您更加满意。不要忘记,您可以自动将现有宏转换为VBA,以便快速入门。

我认为您确实应该将排序从按UCase([field\u name])排序更改为按[field\u name]排序,因为大小写无关紧要。