【问题标题】:MS-Access: Defining Data Types while Compiling QueriesMS-Access:在编译查询时定义数据类型
【发布时间】:2018-08-03 23:09:09
【问题描述】:

我在某些表的数据类型方面遇到了一些问题。

例如,我有:

+-------+----------+-------------+----------+--------------+
| Code  |  Money1  |   Money2    | Quantity |    Total     |
+-------+----------+-------------+----------+--------------+
| 10001 | 100.4334 | 200.3444332 |      100 | 50,432.74642 |
+-------+----------+-------------+----------+--------------+

但我只希望每列有 2 位数字。我知道如何从表中执行此操作(选择Number -> Standard -> 2 decimals),但是当我编译与该表对应的查询时,它再次中断。

我想我必须在查询中输入CLng()CInt() 和那些东西。在哪里?在SELECTFROMTO?。那样可以么? "Standard, 2 digits" 在该命名法中是如何称呼的?

【问题讨论】:

  • 你的查询是什么样的?
  • 我这里没有,但它就像:SELECT .......... .. FROM ................ TO ......我的意思是,我从一个表中选择了几列,然后将它们粘贴到另一个表中
  • 如果只是为了显示,也可以在查询设计-列属性中设置数字格式。

标签: ms-access vba ms-access-2010 ms-access-2013 ms-access-2016


【解决方案1】:

对查询中的列使用Round([Money1], 2),或者 - 如果您认真对待舍入 - 此处的 RoundMid 函数:

GitHub VBA.Round

然后使用:

Select
    Code, 
    RoundMid([Money1], 2) As Money_1,
    RoundMid([Money2], 2) As Money_2,
    Quantity,
    RoundMid([Total], 2) As Total2
From
    YourTable

【讨论】:

  • 不错!在哪里?在选择,从,到?我认为它应该在选择中
  • 我遇到了问题。 Access 说 RoundMid 不存在。如何添加?
  • 可以从这里下载:GitHub VBA.Round(上面也提供了链接)。
猜你喜欢
  • 1970-01-01
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-05
相关资源
最近更新 更多