我该怎么做才能在Ms访问中过滤货币中文字符



我有一个查询。

 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]上看到汉字。

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

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

遵循此路径

控制面板 -> 检查语言和区域 -> 区域 ->货币

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

您也可以使用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;

瓦尔

设置默认货币

格式

最新更新