我有一个HTML文件,其中包含最多5位小数精度的货币值。我做可以控制HTML文件的结构/内容(并且它符合XML标准)。目前,一些数值包括千位分隔符:
<td>-123,456.789</td>
<td>123.456</td>
<!--A null is an empty TD element-->
<td></td>
我想从Access链接到该文件,并且要将数据导入到具有十进制数据类型的字段的本地表中,而不会丢失任何精确度。
但是,Access的导入向导(和IMEXColumn规范)不提供Decimal数据类型,因此我在以下方法之间徘徊:
| Linked Column Type + Local Column Type + Type Conversion in Append query +
+--------------------+-------------------+---------------------------------|
| Text | Decimal | Implicit Conversion |
+--------------------+-------------------+---------------------------------|
| Text | Decimal | CDec() Conversion |
+--------------------+-------------------+---------------------------------|
| Currency | Decimal | Implicit Conversion |
+--------------------+-------------------+---------------------------------|
| Currency | Decimal | CDec() Conversion |
+--------------------+-------------------+---------------------------------|
我目前倾向于Text/CDec()
方法(考虑Null值)。这是最安全和最有效的方法吗?
答案 0 :(得分:0)
您应该链接为文本,然后您可以使用CDec进行转换。
如果您有Null值,则应在清理查询中执行此操作:
Amount: IIf(IsNull([AmountText]),Null,CDec(Nz([AmountText],0)))