当前位置:编程学习 > VB >>

【求计算公式:如何计算100条记录中一列的值,符合条件则插入新值????】

计算100条记录中第二列的值:
如果该值小于500大于0则 将该值乘于0.05-0插入第三列
如果该值小于2000大于500则 将该值乘于0.1-25插入第三列
如果该值小于5000大于2000则 将该值乘于0.15-125插入第三列
如果该值大于5000则 将该值乘于0.20-375插入第三列

就是循环计算并将计算后的值插入第三列, --------------------编程问答-------------------- Function AA(BB As Long) As Double
    Randomize
    
    If BB < 500 And BB > 0 Then
        AA = BB * (Rnd() * 5 / 100)
    ElseIf BB < 2000 And BB > 500 Then
        AA = BB * (Rnd() * 24.9 + 0.1)
    ElseIf BB < 5000 And BB > 2000 Then
        AA = BB * (Rnd() * 124.85 + 0.15)
    Else
        AA = BB * (Rnd() * 374.8 + 0.2)
    End If
End Function --------------------编程问答-------------------- 如果该值小于500大于0则   将该值乘于0.05-0插入第三列 
如果该值小于2000大于500则   将该值乘于0.1-25插入第三列 
如果该值小于5000大于2000则   将该值乘于0.15-125插入第三列 
如果该值大于5000则   将该值乘于0.20-375插入第三列 


假设已经连接数据可
dim SQLText as string
dim i as integer
if youbiao.field("字段名").value >0 and field("字段名").value <500 then
   i=val(youbiao.field("字段名").value )
   i=i*0.05
   youbiao.next
   youbiao.field("字段名").value =str(i)
end if 

大体的思路就是这样 具体的代码自己写把
--------------------编程问答-------------------- 是数据库问题吗?
用的什么数据库? --------------------编程问答-------------------- 首先非常确定 LZ描述的内容一定不符合实际情况

不过按照你的要求,可以得到这样的语句
----
计算100条记录中第二列的值: 
如果该值小于500大于0则   将该值乘于0.05-0插入第三列 
如果该值小于2000大于500则   将该值乘于0.1-25插入第三列 
如果该值小于5000大于2000则   将该值乘于0.15-125插入第三列 
如果该值大于5000则   将该值乘于0.20-375插入第三列 

就是循环计算并将计算后的值插入第三列,
----
update tb 
set c3=(case  
when (c2>0 and c2<500)  then c2*0.05 
when (c2>500 and c2<2000)  then c2*0.1-25
when (c2>2000 and c2<5000)  then c2*0.15-125
when (c2>5000)  then c2*0.2-375
end)
--------------------编程问答-------------------- 假如只是 excel  可以这样
设置 C1格为如下公式 然后把公式拉下去就好了
=(B1>0)*B1*0.05 +(B1>500)*(B1-500)*0.05+(B1>2000)*(B1-2000)*0.05+(B1>5000)*(B1-5000)*0.05

不过我修改了你的题意为
---- 
计算100条记录中第二列的值:   
如果该值小于等于500大于0则       将该值乘于0.05-0插入第三列   
如果该值小于等于2000大于500则       将该值大于500的部分乘于0.1-25插入第三列   
如果该值小于等于5000大于2000则       将该值大于2000的部分乘于0.15-125插入第三列   
如果该值大于5000则       将该值乘于0.20-375插入第三列   

就是循环计算并将计算后的值插入第三列, 
----  --------------------编程问答-------------------- 貌似前几天见过 --------------------编程问答-------------------- 等待牛人来答.
补充:VB ,  VBA
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,