将双列中的每个记录乘以一个十进制数字

问题描述 投票:0回答:2

我有一个类型为Double的“价格”列。我还有一个带有按钮的表单,该表单应打开一个输入框,让用户输入所需的折扣金额,例如用户输入0.6(60%折扣)并完成计算,1-0,6 = 0,4。 0,4是将“价格”列中每个记录乘以的数字。我似乎无法使它正常工作。

我尝试输入0,5时只尝试乘以5,它跳过了0,而之前是5,这很奇怪。

Dim strDiscount As String
Dim discount  As Double
Dim holder As Double
Dim strSQL  As String
Dim dbs     As DAO.Database

Set dbs = CurrentDb

strDiscount = InputBox("Enter how much discount you want:", "Amount of discount")

holder = Val(strDiscount)
discount = (1-holder)
strSQL = "UPDATE Prislista SET Listpris = Listpris *" & _
discount
dbs.Execute strSQL

其中一项尝试给出了一条错误消息,告诉我我在Windows操作系统上设置的位置错误。关于使用逗号而不是点的内容。好吧,我的窗口和ms-access在瑞典语上,输入折扣时我应该使用逗号还是点对我来说都没有关系。

我有一个类型为Double的“价格”列。我还有一个带有按钮的表单,该表单应打开一个输入框,让用户输入所需的折扣金额,例如用户输入0.6(60%折扣)...

ms-access access-vba ms-access-2016
2个回答
0
投票

虽然访问中的用户界面将使用您的本地设置,但VBA仅使用美国设置。


0
投票

首先,如果四位小数是足够的,则始终将数量和数量存储为货币

© www.soinside.com 2019 - 2024. All rights reserved.