Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共30 条记录, 每页显示 10 条, 页签: [1] [2] [3]
[浏览完整版]

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

11楼
yndlyh 发表于:2009/2/20 0:02:00
看到老师改过的文件包,并下载了,但无法解压。提示:“! C:\Documents and Settings\Administrator\桌面\人员及车辆管理系统.rar: 不可预料的压缩文件末端”。
12楼
狐狸爸爸 发表于:2009/2/20 0:06:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:abc.rar

13楼
yndlyh 发表于:2009/2/20 0:20:00
已经收到并解压,但是第二个问题没有得到解决——
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”编译错误。不知是何原因?
14楼
狐狸爸爸 发表于:2009/2/20 0:27:00
我加进去了,一切正常:

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



这么多IF,看起来比较晕,你可以看看Select Case语句,用起来会简洁一点。
15楼
yndlyh 发表于:2009/2/20 9:23:00

收到。一切正常,十分感谢,今后遇到什么问题再各老师请教。

16楼
yndlyh 发表于:2009/2/21 12:39:00

十分抱歉,又有问题了:
一、日龄语句无法加载。因为“车辆档案”除“二维日龄”外还有“行车证副日龄”、“加强险日龄”、“统筹日龄”和“合同日龄”;而“车主及驾驶员档案”有“准驾证副日龄”、“驾驶证副日龄”和“从业证副日龄”。按理,将
“ElseIf e.DataCol.Name = "到期字段名" Then
    IF dr.IsNull("字段名") Then
      dr("日龄字段名")  = Nothing
    Else
       Dim Val As Date = dr("到期字段名")
       dr("日龄字段名") = (Val-Date.Today ).Days
    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
'在"品牌型号"表"查找所输入"车辆品牌""车辆型号"的行
dr = DataTables("品牌型号").Find("[车辆品牌] = '" & e.DataRow("车辆品牌") & "' And [车辆型号] = '" & e.DataRow("车辆型号") & "'")
If dr IsNot Nothing Then '如果找到
    '将找到行的"轮距""轴距""外廊尺寸""总质量"内容填入到正在输入的行中.
    e.DataRow("轮距") = dr("轮距") '
    e.DataRow("外廊尺寸") = dr("外廊尺寸")
    e.DataRow("总质量") = dr("总质量")
End If
时,结果是A)加载成功;B)无运行结果。

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

17楼
狐狸爸爸 发表于: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编辑过]
18楼
yndlyh 发表于:2009/2/21 14:34:00

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

19楼
狐狸爸爸 发表于: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编辑过]
20楼
yndlyh 发表于:2009/2/21 15:32:00

收到。大概我的机器或FoxTadle出了什么问题了。
     一、“车辆档案”日龄列除了“二维日龄”列有运行结果外,其他列都没有运行结果。“车主及驾驶员档案”日龄列均无运行结果。
     二、自动输入:在“车辆档案”中case "车辆品牌" ,"车辆型号"、"轴距"、"外廊尺寸"、"总质量"五列只有"车辆品牌" ,"车辆型号"两列起作用,其余三列不起作用用。
       

共30 条记录, 每页显示 10 条, 页签: [1] [2] [3]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 7 queries.