Foxtable(狐表)用户栏目专家坐堂 → [求助]新手写语句时遇到困惑,求修改


  共有8429人关注过本帖树形打印复制链接

主题:[求助]新手写语句时遇到困惑,求修改

帅哥哟,离线,有人找我吗?
nevercool
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:873 威望:0 精华:0 注册:2012/2/9 16:16:00
[求助]新手写语句时遇到困惑,求修改  发帖心情 Post By:2012/2/23 15:27:00 [只看该作者]

如附件中_DataColChanged事件,根据不同户口性质及社保基数来计算对应各项保险金额。经测试计算方面没问题,但在修改条件时状况出现了:

 

1、输入户口性质、养老基数后,无反应;必须输完医疗基数后才全部生成;

 

2、先清空医疗基数后,再清空养老基数时,对应数值未自动清空,反之则没问题;

 

3、基数都存在时,清空户口性质,后面数值仍未清空。

 

感觉问题好像和语句的顺序有问题,户口性质应该和基数是互相关联的才对啊。另外自己看着那代码也有点累赘,如果我再定义别的户口性质,该不会接着那样写下去吧? 那代码得多长啊...

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:社保测试.table

[此贴子已经被作者于2012-2-23 15:59:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/23 15:38:00 [只看该作者]

你得配合一个具体的表格,输入测试测数据,写上你的代码,然后传上来,再提问,说明:在什么表的设么时间,设置了什么代码,目的是什么,遇到了什么问题。

 回到顶部
帅哥哟,离线,有人找我吗?
nevercool
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:873 威望:0 精华:0 注册:2012/2/9 16:16:00
  发帖心情 Post By:2012/2/23 16:01:00 [只看该作者]

刚才不知怎么打开论坛特别慢,附件竟然没传上。帮忙看下


 回到顶部
帅哥哟,离线,有人找我吗?
听雪落的声音
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:155 积分:1292 威望:0 精华:0 注册:2009/2/23 15:17:00
  发帖心情 Post By:2012/2/23 16:20:00 [只看该作者]

大致看了一眼,好像用select case 好些,也许不会出各个问题

 回到顶部
帅哥哟,离线,有人找我吗?
nevercool
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:873 威望:0 精华:0 注册:2012/2/9 16:16:00
  发帖心情 Post By:2012/2/23 16:38:00 [只看该作者]

帮忙改下啊


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/23 16:47:00 [只看该作者]

应该这样:

 

If e.DataRow.IsNull("医疗基数") Then
    e.DataRow("医疗保险_单位") = Nothing
    e.DataRow("医疗保险_个人") = Nothing
    e.DataRow("生育保险") = Nothing
Else
    e.DataRow("医疗保险_单位") = (e.DataRow("医疗基数") * 0.1)
    e.DataRow("医疗保险_个人") = (e.DataRow("医疗基数") * 0.02 + 3)
    e.DataRow("生育保险") = (e.DataRow("医疗基数") * 0.008)
End If
If e.DataRow.IsNull("养老基数") Then
    e.DataRow("养老保险_单位") = Nothing
    e.DataRow("养老保险_个人") = Nothing
    e.DataRow("失业保险_单位") = Nothing
    e.DataRow("失业保险_个人") = Nothing
    e.DataRow("工伤保险") = Nothing
Else
    e.DataRow("养老保险_单位") = (e.DataRow("养老基数") * 0.2)
    e.DataRow("养老保险_个人") = (e.DataRow("养老基数") * 0.08)
    e.DataRow("失业保险_单位") = (e.DataRow("养老基数") * 0.01)
    e.DataRow("失业保险_个人") = (e.DataRow("养老基数") * 0.002)
    e.DataRow("工伤保险") = (e.DataRow("养老基数") * 0.005)
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
nevercool
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:873 威望:0 精华:0 注册:2012/2/9 16:16:00
  发帖心情 Post By:2012/2/23 17:11:00 [只看该作者]

哦~~明白了。

 

如果把条件设为其它户口性质后,还是继续这么写下去吗? 这样倒是特通俗,不过感觉有点累赘啊.


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/23 17:31:00 [只看该作者]

没有办法,你这个又没有规则可言,老老实实写代码

 回到顶部
帅哥哟,离线,有人找我吗?
nevercool
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:873 威望:0 精华:0 注册:2012/2/9 16:16:00
  发帖心情 Post By:2012/2/23 17:39:00 [只看该作者]

嗯,慢慢来吧~图片点击可在新窗口打开查看


 回到顶部