Foxtable(狐表)用户栏目专家坐堂 → [求助]“投保日期”上366天,如何写代码


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

主题:[求助]“投保日期”上366天,如何写代码

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/19 21:05:00 [显示全部帖子]

Dim dr As DataRow = e.DataRow
If e.DataCol.Name = "投保日期" Then
    IF dr.IsNull("投保日期") Then
        dr("保险到期")  = Nothing
    Else
       dr("保险到期")  =  dr("投保日期").AddDays(366) 
    End If
ElseIf e.DataCol.Name = "二维到期" Then
    IF dr.IsNull("二维到期") Then
      dr("二维日龄")  = Nothing
    Else
       Dim Val As Date = dr("二维到期")
       dr("二维日龄") = (Date.Today -Val).Days
    End If
End If

[此贴子已经被作者于2009-2-19 21:10:55编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/19 22:13:00 [显示全部帖子]

IF和End IF,这两个要成双成对的
不同的If 和End IF之间,可以定义相同名称的变量。
但是If 和End If之外和之内,不能定义相同名称的变量。

最好传上文件,告诉在哪个表的哪个事件设置了什么代码通不过,否则我们也只能稀里糊涂地猜想。

[此贴子已经被作者于2009-2-19 22:15:45编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/19 23:11:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:人员及车辆管理系统.rar


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/20 0:06:00 [显示全部帖子]

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


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/20 0:27:00 [显示全部帖子]

我加进去了,一切正常:

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



这么多IF,看起来比较晕,你可以看看Select Case语句,用起来会简洁一点。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/21 13:59:00 [显示全部帖子]

你自己逻辑正确,只是代码太长,你搞不清楚IF Elseif End If的对应关系了,而且后面的判断有点问题,如果不是A列就退出,那么接下来如果不是B列就退出,还有什么意义呢。

代码编辑器窗口有重拍按钮,可以自动排版代码,有助于你搞清楚各个If ElseIf End If 的关系。

不过最好的是Select Case,看下面这个,要清爽多了:


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:人员.rar

[此贴子已经被作者于2009-2-21 14:05:40编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/21 14:52:00 [显示全部帖子]

以下是引用yndlyh在2009-2-21 14:34:00的发言:

收到。虽然在“车辆档案”中已经加载了“日龄”语句,但在数据表中并没有执行结果。同样自动输入也没有动静。而在“车主及驾驶员档案”表中无法加载“日龄”语句。


1、哪一个日龄没有执行?
2、车辆档案的两个自动输入我测试都没有问题。
3、在“车主及驾驶员档案”表中无法加载“日龄”语句,这个问题我前面已经说了,你的If Else End IF完全乱套,要知道这些要配对使用的:

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


刚开始学习的时候,不要一次写这么长,调试清楚一段,再增加下一段。
强烈建议你再看两次帮助,在IF语句的基本语法还不太清楚的情况下编程,只能事倍功半。
要知道对于代码来说,差一个字母,一个引号,都是无法通过的。

[此贴子已经被作者于2009-2-21 14:55:57编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/21 15:39:00 [显示全部帖子]

呵呵,我随便测试了车辆登记日期和车龄的关系,完全有效的,输入或修改一个车辆登记日期,车龄就自动算出来了。
第二个问题,你的代码本来就是根据"车辆品牌" 、"车辆型号",来自动输入其他三列内容的。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/21 15:43:00 [显示全部帖子]

注意修改代码后,对于已经输入的数据,要重置列才行。
例如要重置车辆登记日期日期,才会根据已经输入的数据计算车龄,对于新输入或修改的数据,则会自动计算。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/21 16:06:00 [显示全部帖子]

你将我的文件复制到你原来的目录,删除目录下的Catch子目录,然后打开我设计的文件。
这个文件Czy版主测试过,也是可以计算的。


 回到顶部
总数 13 1 2 下一页