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


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

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

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


加好友 发短信
等级:婴狐 帖子:15 积分:602 威望:0 精华:0 注册:2009/2/15 13:14:00
[求助]“投保日期”上366天,如何写代码  发帖心情 Post By:2009/2/18 14:47:00 [只看该作者]

日期计算问题.有一列“投保日期”是由用户输入的,现在要加上366天,得到另一日期列“保险到期”。请予指教。
[此贴子已经被smileboy于2009-2-20 11:51:32编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/2/18 15:06:00 [只看该作者]

建议先认真看N次帮助文件,特别是:『开发篇』---『事件编程』---『事件实例』----『使用事件进行计算』部分

将该表的DataColChanged事件设置为:
If e.DataCol.Name = "投保日期" Then
      Dim dr As DataRow = e.DataRow
      IF dr.IsNull("投保日期") Then
           dr("保险到期")  = Nothing
      Else
           dr("保险到期")  =  dr("投保日期").AddDays(366) 
      End If
End If
[此贴子已经被作者于2009-2-18 15:39:38编辑过]

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


加好友 发短信
等级:婴狐 帖子:15 积分:602 威望:0 精华:0 注册:2009/2/15 13:14:00
[求助]谢谢  发帖心情 Post By:2009/2/18 16:17:00 [只看该作者]

一切正常 ,谢谢无私帮助,今后一定努力学习。

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


加好友 发短信
等级:婴狐 帖子:15 积分:602 威望:0 精华:0 注册:2009/2/15 13:14:00
再次向老师求助  发帖心情 Post By:2009/2/19 20:10:00 [只看该作者]

十再不好意思,再次向老师求助:我的数据库有一列日期型数据,字段名为:“二维到期”,现在我要知道这个字段的值(日期)离系统日期有几天(在易表里可以用“Number([行车证副到期])-Number(Today())”的刷新公式获得)。我想增设列“二维日龄”来解决这个问题。也认真看了FoxTable官方论坛关于“日龄”的例子,但始终不得要领。一句话,请老师指教:如何从系统日期和“二维到期”中获得“二维日龄”的数据。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望: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编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/2/19 21:28:00 [只看该作者]

楼主为什么不dr("投保日期").Addyears(1) ?

那一年要不是366天呢?

      楼主的要求应该改为一年吧?
[此贴子已经被作者于2009-2-19 21:29:05编辑过]

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


加好友 发短信
等级:婴狐 帖子:15 积分:602 威望:0 精华:0 注册:2009/2/15 13:14:00
[求助]收到。十分感谢  发帖心情 Post By:2009/2/19 22:06:00 [只看该作者]

收到。十分感谢。但是——
1) Dim dr As DataRow = e.DataRow
   If e.DataCol.Name = "投保日期" Then
    IF dr.IsNull("投保日期") Then
        dr("保险到期")  = Nothing
    Else
       dr("保险到期")  =  dr("投保日期").AddDays(366)
    End If
    中的第二语句“If e.DataCol.Name = "投保日期" Then”编译错误。不知是何原因?
2) 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
   中的第一语句“ElseIf e.DataCol.Name = "二维到期" Then”编译错误。不知是何原因?
3) 第一次给的——
    If e.DataCol.Name = "投保日期" Then
      Dim dr As DataRow = e.DataRow
      IF dr.IsNull("投保日期") Then
           dr("保险到期")  = Nothing
      Else
           dr("保险到期")  =  dr("投保日期").AddDays(366)
      End If
End If
    一开始并没有错,但是,今天我在加载“'如果刚刚输入的不是"班线类别"或"经营线路"列
If e.DataCol.Name <> "班线类别" AndAlso e.DataCol.Name <> "经营线路" Then
    Return '则返回
End If
'如果"班线类别"或"经营线路"列的内容为空
If e.DataRow.IsNull("班线类别") OrElse e.DataRow.IsNull("经营线路") Then
    '则清除"途经地"和"经营里程""高速公路里程"三列的内容
    e.DataRow("途经地") = Nothing
    e.DataRow("经营里程") = Nothing
    e.DataRow("高速公路里程") = Nothing
    Return '然后返回
End If
Dim dr As DataRow
'在"经营线路表"查找所输入"班线类别""经营线路"的行
dr = DataTables("经营线路表").Find("[班线类别] = '" & e.DataRow("班线类别") & "' And [经营线路] = '" & e.DataRow("经营线路") & "'")
If dr IsNot Nothing Then '如果找到
    '将找到行的"途经地""经营里程""高速公路里程"内容填入到正在输入的行中.
    e.DataRow("途经地") = dr("途经地") '
    e.DataRow("经营里程") = dr("经营里程")
    e.DataRow("高速公路里程") = dr("高速公路里程")
End If”语句时(全部语句无错误),第二语句“Dim dr As DataRow = e.DataRow”编译错误。无法理解。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望: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编辑过]

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


加好友 发短信
等级:婴狐 帖子:15 积分:602 威望:0 精华:0 注册:2009/2/15 13:14:00
[求助]谢谢!现在我把文件传上  发帖心情 Post By:2009/2/19 23:00:00 [只看该作者]

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


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


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

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


 回到顶部
总数 30 1 2 3 下一页