在更改点之前的数字时,Access 2013表单字段值会被切断

时间:2015-10-16 13:52:29

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

最近我创建了一个从SQL(链接)数据库加载一些记录的表单。

我想显示一些字段值(十进制数 - 在sql server中为30,2)。

这些值在表单中加载,并以逗号表示小数,并将点显示为1000分隔符,如下所示:5.222,55。 (计算机上的语言设置)。

虽然事情是,当我将点之前的5更改为任意数字时,该值将被截断,并将该点视为小数点分隔符。因此,例如,如果我只选择5.222,55数字上的数字5(所以我离开点),然后将其更改为2,则值将更改为2,22

虽然当我选择整数或第一个数字和点时,它会正确地改变。那我怎么能做到这一点呢?简单的方法是在改变时选择整数,但我只是想让它以各种方式工作。也许我可以通过VBA实现它?我尝试设置格式选项(回到访问2000我相信我可以将文本字段设置为长整数或货币或其他东西,但我无法在访问2013字段属性中找到它)。

其他信息:

  • 我正在使用SQL Server 2012进行链接,
  • Access中的链接表将字段记录源(SQL字段)视为短文本(虽然它们是SQL服务器中的小数)

1 个答案:

答案 0 :(得分:2)

Access无法处理30,2的十进制数,因此它被ODBC驱动程序转换为文本。

因此,要么在文本和数字之间来回转换StrVal(C *函数不会这样做),要么将SQL Server中字段的数据类型更改为,比如,金钱(=访问中的货币)。