【发布时间】:2012-11-26 19:10:14
【问题描述】:
在 MS Access 2010 中,我正在构建一个更新查询(使用查询设计器)。 我想在运行时将要更新的列的名称作为变量传递。
我尝试过编写 SQL 并在 VBA 中运行查询。这似乎是最简单的方法......但是完成更新的 SQL 变得相当混乱。我宁愿在查询生成器 GUI 中执行此操作。 有可能吗?
到目前为止,我已经尝试在查询构建器中输入字段名称:
expr1:[field_name]
虽然 Access 提示我输入“Field_name”,但这会导致“无法更新 'field_name';字段不可更新。
另外,我试过这个方法:
Expr1: "'" & [field_name] & "'"
导致 "'" & [field_name] & "'" 不是有效名称;检查标点符号..等
下面是我正在尝试构建的查询的屏幕截图。
【问题讨论】:
-
这可能为时已晚,但我建议重新设计您的数据库 - 您有 Employee1Hours、Employee2Hours 等等,这似乎与数据库的关系优势背道而驰。如果这些是不同员工的工作时间,它们应该只保存在 2 个字段中 - 一个用于员工编号,一个用于他们工作的小时数。然后,您可以执行简单的任务,例如汇总员工 1 的所有小时数。