首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找出一个百分比减去一个百分比

找出一个百分比减去一个百分比
EN

Stack Overflow用户
提问于 2018-01-31 10:57:00
回答 3查看 31关注 0票数 0

我有一行简单的代码,运行良好,如下所示:

代码语言:javascript
运行
复制
If Availability >= DLookup("[Availability]", "[tbl_RAG]", "[Department] = 'Outbound'") Then RAGAvailability.ForeColor = RGB(0, 176, 80) 'green

我稍微修改了它,以便从它找到的数字中减去2%,如下所示(请注意,下面是不起作用的数字:

代码:

代码语言:javascript
运行
复制
If Availability < DLookup("[Availability]", "[tbl_RAG]", "[Department] = 'Outbound'") - (Format(2, "percent")) Then RAGAvailability.ForeColor = RGB(192, 0, 0) 'red

我也尝试过:

代码语言:javascript
运行
复制
If Availability < DLookup("[Availability]", "[tbl_RAG]", "[Department] = 'Outbound'") - 0.02 Then RAGAvailability.ForeColor = RGB(192, 0, 0) 'red

数据的表TBL_RAG已经存储为%。

我可能做错了什么

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-31 11:15:57

您的第二次尝试是正确的,但也许DLookup返回空?如果是的话:

代码语言:javascript
运行
复制
If Availability < Nz(DLookup("[Availability]", "[tbl_RAG]", "[Department] = 'Outbound'"), 0) - 0.02 Then 
    RAGAvailability.ForeColor = RGB(192, 0, 0) 'red
End If

或者你使用的是双倍货币而不是货币。然后:

代码语言:javascript
运行
复制
If Availability < CCur(Nz(DLookup("[Availability]", "[tbl_RAG]", "[Department] = 'Outbound'"), 0)) - CCur(0.02) Then 
    RAGAvailability.ForeColor = RGB(192, 0, 0) 'red
End If

编辑:来回改变颜色:

代码语言:javascript
运行
复制
Dim Color As Long

If Availability < CCur(Nz(DLookup("[Availability]", "[tbl_RAG]", "[Department] = 'Outbound'"), 0)) - CCur(0.02) Then 
    Color = vbRed
Else
    Color = vbBlack
End If
RAGAvailability.ForeColor = Color
票数 1
EN

Stack Overflow用户

发布于 2018-01-31 11:15:21

您可以在DLookUp中使用微积分。

尝试以下几点:

代码语言:javascript
运行
复制
If Availability < DLookup("[Availability]-0.02", "[tbl_RAG]", "[Department] = 'Outbound'") Then RAGAvailability.ForeColor = RGB(192, 0, 0) 'red
票数 0
EN

Stack Overflow用户

发布于 2018-01-31 15:01:18

谢谢你的帮助。我似乎已经使用以下代码纠正了这个问题:

代码语言:javascript
运行
复制
Dim db As Database, AvailRs As Recordset
Set db = CurrentDb
Set AvailRs = db.OpenRecordset("Select * from tbl_RAG")

Select Case Availability
    Case Is > Format(AvailRs!UpperAvailability, "percent")
        RAGAvailability.ForeColor = RGB(0, 176, 80)
    Case Is < Format(AvailRs!lowerAvailability, "percent")
        RAGAvailability.ForeColor = RGB(192, 0, 0)
    Case Else
        RAGAvailability.ForeColor = RGB(255, 192, 0)
End Select

所发生的事情:我的理解是,代码无法从可用的字符串中读取字符串。我将其格式化为%,并使用Select将其组合在一起

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48540466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档