设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1861|回复: 7
打印 上一主题 下一主题

[Access本身] 如何在判断后选择不同计算公式计算?

[复制链接]
跳转到指定楼层
1#
发表于 2006-4-24 03:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个表,表中有字段如下:

编号     单位    成本    卖价    数量    利润
1           A         1         2        100     100
2           A         1         2        150     150
3           B         1         2        200     160

当单位为A时,利润计算方法是:(卖价-成本)*数量

当单位为B时,利润计算方法是:(卖价-成本)*数量*0.8

利润这个控件在窗体上是自动计算的,在数量的AfterUpdata后,我写了个计算公式:利润.value=(卖价-成本)*数量,这样,单位是A的时候,利润自动计算出来是正确的,单位是B的时候,自动计算出来的利润就不正确了(因为计算方法不同)。

现在请问,我该怎么写一个VBA代码,使得能自动判断单位里面是A或者B,然后自动选择该使用什么计算方法来计算,并自动计算把结果填入利润框内。

另外,这段VBA代码放在什么位置。

谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-4-24 03:30:00 | 只看该作者
直接用查询就行了,不一定要存到利润字段,

可用IIF来判断计算
3#
 楼主| 发表于 2006-4-24 03:37:00 | 只看该作者
我想存到表里面的,我也知道这是个笨办法。呵呵。

IIF怎么写呢?能否写个例子给我呢?谢谢
4#
发表于 2006-4-24 03:38:00 | 只看该作者
传你的库上来修改吧
5#
 楼主| 发表于 2006-4-24 03:48:00 | 只看该作者
楼上的大大,还是我,请看附件。

附件中有两个自动计算的,一个是本次运费,这个不需要判断,只有一个计算方法。

另外一个是利润,要求根据运输单位来判断,如果是运输单位是通达,那么计算方法为:利润.Value = (运价 - 运价 * 税率 - 成本) * 实收重量

如果运输单位不是通达,那么计算方法为:利润.Value = (运价 - 成本) * (1 - 税率) * 实收重量

谢谢啦。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2006-4-24 05:07:00 | 只看该作者
大大,在线急等。谢谢。
7#
发表于 2006-4-24 06:31:00 | 只看该作者
在税率文本框的失去焦点事件中写入如下代码

Private Sub 税率_LostFocus()
    Me.利润 = IIf(Me.运输单位 = "通达", (Nz(运价) - Nz(运价) * Nz(税率) - Nz(成本)) * Nz(实收重量), (Nz(运价) - Nz(成本)) * (1 - Nz(税率)) * Nz(实收重量))
End Sub


其它有关连的文本框的更新事件中写入如下代码,以便更改时都能及时更改利润

Call 税率_LostFocus
8#
 楼主| 发表于 2006-4-24 07:03:00 | 只看该作者
搞定了,谢谢谢谢。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-26 04:41 , Processed in 0.083023 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表