【发布时间】:2016-09-01 12:02:02
【问题描述】:
在我的 Access 中,我有一个表单,我想在其中显示几个表绑定(记录源)字段作为货币,它们的表数据类型是文本。
我似乎无法完成这项工作。到目前为止,我为实现这一目标所做的努力:
- 在字段的控制源中使用
Format,因此(在字段的控制源中):=Format(MyTextNumber; "Currency")- 导致#Type 错误(循环引用) - 在该字段的控制源中使用
CCur:=CCur(MyTextNumber)- 这将返回所有 0.00 金额(但带有货币符号)以及设计中的循环引用错误。 - 我没有在表单中使用
table作为Recordsource,而是使用查询作为Recordsource,在该查询中我根据我尝试更改的字段创建了另一个字段:SELECT *, Format(MyTextNumber, "Currency") as MyTextNumberWithFormat FROM SomeTable然后我使用MyTextNumberWithFormat作为控制源,这返回好的值,但我无法直接编辑这些值,因为它基于表达式。 - 还尝试使用控制源创建一个隐藏字段并创建一个使用隐藏字段作为其值的“空控制源字段”,然后在更改字段时编写我自己的
UPDATE语句(但无法获取这也可以工作)。
还有其他建议吗?
其他信息:
我还尝试在字段的“格式”选项卡中设置货币/欧元的格式/符号,但这也没有任何效果,尽管有趣的是当我使用 =Sum(MyField) 作为记录源时,然后格式/符号货币确实有效。
【问题讨论】:
-
是的,我做到了。 Format 属性和控制源上的货币仅用于表字段(抱歉,在应该是 Controlsource 的地方使用记录源,在需要的主要帖子中将调整后的记录源写入 controlsource 时,我想不出这个词)
-
文本是文本,数字是数字。格式化
Sum()有效,因为它会产生一个数字。Format: Currency对文本列唯一要做的就是右对齐该字段。最好的方法是修复您的数据类型。如果该字段包含货币值,为什么不将其更改为货币?所有=...表达式将始终是只读的。 -
啊,很高兴知道 = 表达式总是把它变成只读的!遗憾的是,我无法将格式更改为货币或任何数字。