如何在Ms访问中过滤货币中文字符

时间:2018-04-10 22:20:17

标签: sql ms-access format

我有一个查询。

 SELECT TypeID,          <==Number
    APrice as 1,         <==Currency
    Null as 2 
 FROM tblA 
 UNION ALL 
 SELECT TypeID, 
    Null as 1,
    MPrice as 2          <==Currency
 FROM tblM;

如果我尝试在[ID]上应用过滤器,我会在[2]上获得中文字符。 为什么?这两个表都是新的,有5行用于测试代码。

示例数据库链接:

 https://wetransfer.com/downloads/515a6bf52505af5a40b58e8949d2ffc720180411064648/6159bb

打开qtrTest并按[ID] = 1或2或3上的过滤器按钮。 你会在[2]上看到中文字符。

示例数据库是全新的,没有损坏的数据。

1 个答案:

答案 0 :(得分:1)

访问预设读取计算机系统中默认货币符号的设置。

遵循此路径

  

控制面板 - &gt;检查语言和地区 - &gt;地区 - &gt;货币

然后,您可以看到系统默认的货币符号

您还可以使用Format功能设置货币符号。

 SELECT TypeID,      
    Format ( APrice, "#,##0.00 €" ) as 1,        
    Null as 2 
 FROM tblA 
 UNION ALL 
 SELECT TypeID, 
    Null as 1,
    Format(MPrice, "#,##0.00 €" ) as 2       
 FROM tblM;

修改

您可以使用VAL函数的简单方法。

它可以将字符串中包含的数字作为适当类型的数值返回。

SELECT TypeID, 
Val(Format ( APrice, "#,##0.00 €" )) as 1, 
Null as 2 
FROM tblA 
UNION ALL 
SELECT TypeID, Null as 1, 
Val(Format(MPrice, "#,##0.00 €" )) as 2 
FROM tblM;

VAL

Setting Default Currency

Format