【发布时间】:2016-11-08 20:32:02
【问题描述】:
TL;DR
我正在尝试对输入到数据输入表单的值执行一些计算,然后再将它们保存到表格中。
背景
我在 MS Access 中有一个表单,用作将数据输入数据库的前端。它主要是基准和各种对象之间的距离数据。数据库和使用该数据的应用程序都已建立,期望所有测量值以英尺为单位,但我们的许多数据来源都是以米为单位的。过去,用户必须在将数据输入到表单之前自行转换数据。这一额外步骤会降低工作效率,并增加用户出错的可能性。
我想要做的是在我的表单中添加一个单选按钮,让用户在米和英尺之间切换。当它被交换为米时,该记录的所有值在显示在屏幕上之前都会转换为它们的米当量。如果用户更改记录或创建新记录,表单将需要在更新表格之前将值转换回英尺。表中的值始终以英尺为单位非常重要。
我找到了this article,它描述了如何在表格的记录源之间进行交换。我想我可以只设置 2 个查询 - 一个直接从表中提取数据,一个执行转换 - 并在用户切换单选按钮时在查询之间交换作为我的记录源。
问题
此设置的问题在于,由于我必须在查询中使用别名来执行转换,因此当径向切换为米时,用户无法输入数据。如果我尝试更新其中一个字段,我只会得到一个 bing 噪音并且输入被忽略。 当径向切换到米时,有什么办法允许输入吗? 正如我上面所说,表格中的数据始终以英尺为单位很重要,所以如果用户有“米”选择选项并输入一个类似500的值,输入到表格中的值应该是1640,这是转换为英尺的结果。
示例
这是我的查询的简化示例
FEET 查询
SELECT A,B,C AS LEN,D,E
FROM TABLE1
METERS 查询
SELECT A,B,C/0.3048 AS LEN,D,E
FROM TABLE1
【问题讨论】:
标签: vba ms-access ms-access-2003