以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]自动赋值的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34456) |
-- 作者:feikaba -- 发布时间:2013/6/7 20:41:00 -- [求助]自动赋值的问题 如果第一列的值等于sc则第二列的值为0.05 如果第一列的值为ssc则第二列的值也为0.05 如果第一列的值等于c则第二列的值为0 如果第一列的值等于sc则第二列的值也为0 请问这个要用代码怎么写呢?如果表达式可以用也可以用表达式!!
[此贴子已经被作者于2013-6-7 22:00:36编辑过]
|
-- 作者:feikaba -- 发布时间:2013/6/7 21:57:00 -- If e.DataCol.name ="第一列" Then If e.DataRow("第一列")= "sc" Then e.DataRow("第二列")=0.05 Else If e.DataRow("第一列")= "ssc" Then e.DataRow("第二列")=0.05 Else If e.DataRow("第一列")= "c" Then e.DataRow("第二列")=0 Else If e.DataRow("第一列")= "scd" Then e.DataRow("第二列")=0 End If End If End If End If End If 自己试着这样写是出来了!但是觉得代码还是不够精炼!望高手指点一二!
[此贴子已经被作者于2013-6-7 21:57:56编辑过]
|
-- 作者:y2287958 -- 发布时间:2013/6/7 22:24:00 -- 试试表达式 IIF([第一列]=\'sc\' or [第一列]=\'ssc\',0.05,IIF([第一列]=\'c\' or [第一列]=\'scd\',0,\'\'))
[此贴子已经被作者于2013-6-7 22:24:51编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2013/6/8 11:30:00 -- 用表达式最好.
另外你二楼的代码,如果用Select Case语句,会简洁很多: http://www.foxtable.com/help/topics/0224.htm
If e.DataCol.Name = "第一列" Select Case e.Datarow("第一列") case "a" e.datarow(“第二列") = 0.1 case "g" e.datarow(“第二列") = 0.2 case "f" e.datarow(“第二列") = 0.5 case "=ua" e.datarow(“第二列") = 0.9 case "ff" e.datarow(“第二列") = 0.11 end Select End IF |