Foxtable(狐表)用户栏目专家坐堂 → [求助]BeforeSaveDataRow代码完善


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

主题:[求助]BeforeSaveDataRow代码完善

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


加好友 发短信
等级:二尾狐 帖子:534 积分:4414 威望:0 精华:0 注册:2012/11/28 16:03:00
[求助]BeforeSaveDataRow代码完善  发帖心情 Post By:2017/11/20 11:00:00 [只看该作者]

老师你好,BeforeSaveDataRow 代码,在实际操作中碰到这样问题,"录入日期"更改一次时会更改"入库单号"一次,现在要求是"录入日期"更改不管多少次,而"月份"列如果未变化则不更改"入库单号","录入日期"改变及"月份"同时改变时才更改("入库单号") ,麻烦老师修改一下代码,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:beforesavedatarow 代码.txt


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 11:38:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Dim pf As String

pf = "WLRK" & Format(dr("录入日期"),"yyMM") '否则获得编号的前缀,两位年,两位月
If dr("入库单号").startsWith(pf) = False Then
    Dim cmd1 As New SQLCommand
    Dim cmd2 As New SQLCommand
    Dim Key As Integer
    Dim nm As String = e.DataTable.name
    cmd1.ConnectionName = "hr" '设置数据源名称
    cmd2.ConnectionName = "hr"
    cmd1.commandText = "Select Count(*) From [编号] Where [前缀] = '" & pf & "' And 表名 = '" & nm & "'"
    If cmd1.ExecuteScalar = 0 Then '如果编号表不存在前缀的行,那么增加一行
        cmd1.commandtext = "Insert Into 编号 (表名, 前缀, 单据号) Values('" & nm & "','" & pf & "',1)"
        cmd1.ExecuteNonQuery
    End If
    cmd1.commandText = "Select [单据号] From [编号] Where [前缀] = '" & pf & "' And 表名 = '" & nm & "'"
    Do
        Key = cmd1.ExecuteScalar() '从后台获得顺序号
        cmd2.commandText = "Update [编号] Set [单据号] = " & (Key + 1) & " Where [单据号] = " & Key & " And [前缀] = '" & pf & "' And 表名 = '" & nm & "'"
        If cmd2.ExecuteNonQuery() > 0 Then '更新顺序号
            Exit Do '更新成功则退出循环
        End If
    Loop
    e.DataRow("入库单号") = pf & "-" & Format(Key,"000000")
End If


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


加好友 发短信
等级:二尾狐 帖子:534 积分:4414 威望:0 精华:0 注册:2012/11/28 16:03:00
  发帖心情 Post By:2017/11/20 12:34:00 [只看该作者]

谢谢老师

 回到顶部