Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 在Access中格式化单个列;表/查询“;列表框_Oracle_Ms Access_Vba - Fatal编程技术网

Oracle 在Access中格式化单个列;表/查询“;列表框

Oracle 在Access中格式化单个列;表/查询“;列表框,oracle,ms-access,vba,Oracle,Ms Access,Vba,我用一个基于Oracle的ADODB记录集填充了包含1列的listbox,该记录集使用 strsql = "SELECT '£' || expected_cost as ""Cost""" lstComm.RowSourceType = "Table/Query" Set lstComm. Recordset = rs 查询返回1.58英镑,但列表框显示1.58英镑 如果我使用 strsql = "trim(TO_CHAR(round(expected_cost,2), 'L999999999

我用一个基于Oracle的ADODB记录集填充了包含1列的listbox,该记录集使用

strsql = "SELECT '£' || expected_cost as ""Cost"""
lstComm.RowSourceType = "Table/Query"
Set lstComm.
Recordset = rs
查询返回1.58英镑,但列表框显示1.58英镑

如果我使用

strsql = "trim(TO_CHAR(round(expected_cost,2), 'L9999999999999.99')) as ""Cost"""
查询返回1.58英镑,但列表框显示1.58美元

是否有一种方法可以将列填充为英国货币,同时将RowSourceType保留为“表/查询”?

简单回答:是


实现这一点最简单(也是最好)的方法是使用
Currency
格式类型。从那里,您只需将
格式
字段从
货币
更改为
,##0.00;(£#,##0.00)

这很奇怪:看起来您的
TO_CHAR
并没有返回字符串,而是返回货币。最终尝试在数字之前连接一个空字符串?类似于
“£”+TO\u CHAR(round(预期成本,2)、“l9999999999.99”)
(我对甲骨文的习惯用法并不精通——不确定它是
+
还是
&
。@patrickonorez我试过选择“£”\124; TO\u CHAR(round(预期成本,2),“l999999999999.99”)这带来了#$1.58你能用一个愚蠢的常量替换这个表达式吗,比如“hello”,以确保你修改了正确的源代码吗?SQL查询是针对Oracle的,所以我不能使用Currency