Foxtable(狐表)用户栏目专家坐堂 → 根据时间自动添加编号的问题


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

主题:根据时间自动添加编号的问题

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


加好友 发短信
等级:婴狐 帖子:33 积分:438 威望:0 精华:0 注册:2013/2/17 15:24:00
根据时间自动添加编号的问题  发帖心情 Post By:2014/3/12 10:34:00 [显示全部帖子]

If e.DataCol.Name = "添加日期" Then
    If e.DataRow.IsNull("添加日期") Then
        e.DataRow("借款编号") = Nothing
    Else
        Dim d As Date = e.DataRow("添加日期")
        Dim y As Integer = d.Year
        Dim m As Integer = d.Month
        Dim Days As Integer = Date.DaysInMonth(y,m)
        Dim fd As Date = New Date(y,m,1) '获得该月的第一天
        Dim ld As Date = New Date(y,m,Days) '获得该月的最后一天
        Dim bh As String = Format(d,"yyyyMM") '生成借款编号的前6位,4位年,2位月.
        If e.DataRow("借款编号").StartsWith(bh) = False '如果借款编号的前6位不符
            Dim max As String
            Dim idx As Integer
            max = e.DataTable.Compute("Max(借款编号)","添加日期 >= #" & fd & "# And 添加日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大借款编号
            If max > "" Then '如果存在最大借款编号
                idx = CInt(max.Substring(7,3)) + 1 '获得最大借款编号的后三位顺序号,并加1
            Else
                idx = 1 '否则顺序号等于1
            End If
            e.DataRow("借款编号") = bh & "-" & Format(idx,"000")
        End If
    End If
End If





1、上面的代码是根据官方的帮助里面,查找替换了【借款编号】=【编号】,【添加日期】=【日期】两个字段;
2、【添加时间】字段属性默认值为【date()】,然后是否编辑设置为否
3、一开始弄的时候,没什么问题,当时是2013版本的,我新增行之后,【添加日期】字段就会自动添加现在的时间,然后【借款编号】里面自动添加编号,都正常,但是昨天出现错误。
4、错误:
.NET Framework 版本:2.0.50727.8000
Foxtable 版本:2014.3.7.1
错误所在事件:表,借款,DataColChanged
详细错误信息:
调用的目标发生了异常。
该字符串未被识别为有效的 DateTime。有一个从索引 9 处开始的未知字。

也不知道是什么原因

新手,顺便求教发图片和发项目的方法,找了半天不知道怎么发

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


加好友 发短信
等级:婴狐 帖子:33 积分:438 威望:0 精华:0 注册:2013/2/17 15:24:00
  发帖心情 Post By:2014/3/12 10:44:00 [显示全部帖子]

修改系统时间格式,重启项目后,确认成功,又学到一点,谢谢BIN,谢谢狐爸爸!!

 回到顶部