如何使qry_Union联合查询的col_Money列保持FIXED格式导出?
联合查询导出金额格式问题的解决办法
- 直接修改联合查询的字段格式设置没用,Access联合查询的字段属性默认继承第一个基础查询的,但导出到CSV/Excel时,系统会自动识别Currency类型,原FIXED格式无法保留。
- 要实现导出时保留两位小数的FIXED格式,最靠谱的方式是在联合查询里把金额字段转换为带两位小数的文本格式,这样导出时不会被识别为Currency类型。参考SQL写法:
SELECT Format(col_Money, "0.00") AS col_Money FROM q_1 UNION ALL SELECT Format(col_Money, "0.00") AS col_Money FROM q_2 UNION ALL SELECT Format(col_Money, "0.00") AS col_Money FROM q_3; - 若需要保留数值类型而非文本,也可以用
CDbl(Format(col_Money, "0.00"))转换为双精度数值,导出到Excel时会显示为带两位小数的常规数值,不会变成Currency格式。 - 注意优先使用
UNION ALL而非UNION,后者会自动去重,容易导致字段属性被重置,前者能更好地保持数据结构的一致性。
内容的提问来源于stack exchange,提问作者Datamint
相关产品推荐
相关产品推荐

