Foxtable(狐表)用户栏目专家坐堂 → 偶尔出现同步更新待办不成功


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

主题:偶尔出现同步更新待办不成功

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


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
偶尔出现同步更新待办不成功  发帖心情 Post By:2021/10/15 16:18:00 [显示全部帖子]

 老师,我以下代码,放到表的DataColChanged 事件,会偶尔出现审批状态不能更新到待办事项表的情况,排除了ID重复的可能,请看看代码是否有问题?

'添加到待办事项
S  elect Case e.DataCol.Name
    C  ase  "审批状态","ID"
        If e.DataRow("审批状态") <> "已审批完成"  AndAlso e.DataRow("审批状态") <> ""  AndAlso e.DataRow("ID") <> "" Then
            Dim nma() As String = {"审批状态","ID"} 'A表数据来源列
            Dim nmb() As String = {"审批状态","ID"} 'B表数据接收列
            Dim dr As DataRow = DataTables("待办事项").SQLFind("ID = '" & e.DataRow("ID") & "'")
            If dr Is Nothing Then  '如果没有找到
                dr=DataTables("待办事项").AddNew()
                dr("所属机构") = _UserPart
                dr("表名") = 
                dr("页签名")= 
                dr("更新日期")= Data.Now
                For i As Integer = 0 To nma.Length - 1
                    dr(nmb(i)) = e.DataRow(nma(i))
                Next
            Else
                Dim Filter As String = "ID = '" & e.DataRow("ID") & "'"
                Dim drs  As  List(Of DataRow) =  DataTables("待办事项").S elect(Filter)
                For Each ds  As  DataRow  In drs
                    ds(e.DataCol.Name) = e.NewValue
                Next
            End If
            DataTables("待办事项").save
        Else
            DataTables("待办事项").sq   lDeletefor("ID = '" & e.DataRow("ID") & "'")
            DataTables("待办事项").s  ave
        End If
End S  elect

[此贴子已经被作者于2021/10/15 16:20:56编辑过]

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


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/10/15 16:38:00 [显示全部帖子]

第一次添加到待办事项后,后面只需要更新审批状态列,意思是直接用find,找到后直接更新审批状态,不用S elect,这样写就行了哇?


            Else
                dr("审批状态") = e.DataRow("审批状态")

            End If

[此贴子已经被作者于2021/10/15 16:41:27编辑过]

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


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/10/15 16:52:00 [显示全部帖子]

以前还不是很清楚逻辑的时候弄的,那这儿该写成这样:dr("审批状态") = e.DataRow("审批状态"),还是写成这样: dr("审批状态") = e.NewValue 这个呢


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


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/10/18 14:29:00 [显示全部帖子]

老师,我有两个表更新审批状态还是不成功,是哪儿有问题啊?

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


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/10/18 14:40:00 [显示全部帖子]

以下是引用有点蓝在2021/10/18 14:39:00的发言:
能帮我申请到哈勃的使用权吗,我穿过千山万水看能不能看到您桌面的代码,然后脑补一下执行过程.....

什么意思?


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


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/10/18 14:50:00 [显示全部帖子]

审批表的DataColChanged事件代码:

Select Case e.DataCol.Name
    Case  "审批状态","ID"
        If e.DataRow("审批状态") <> "已审批完成"  AndAlso e.DataRow("审批状态") <> ""  AndAlso e.DataRow("ID") <> "" Then
            Dim nma() As String = {"审批状态","ID"} 'A表数据来源列
            Dim nmb() As String = {"审批状态","ID"} 'B表数据接收列
            Dim dr As DataRow = DataTables("待办事项").SQLFind("ID = '" & e.DataRow("ID") & "'")
            If dr Is Nothing Then  '如果没有找到
                dr=DataTables("待办事项").AddNew()
                dr("所属机构") = e.DataRow("所属机构")
                dr("表名") = "外经证申请"
                dr("页签名") = "外经证申请"
                dr("更新日期") = Date.Now
                For i As Integer = 0 To nma.Length - 1
                    dr(nmb(i)) = e.DataRow(nma(i))
                Next
            Else
                dr("审批状态") = e.DataRow("审批状态")
            End If
            DataTables("待办事项").save
        Else
            DataTables("待办事项").sqlDeletefor("ID = '" & e.DataRow("ID") & "'")
            DataTables("待办事项").save
        End If
End Select

 

有个通用的审批窗口,审批后提交下一级审批,把审批表的审批状态更新到“待办事项” 表,审批表的状态是按照“审核流程表”的流程来判断的,审批表的“审批状态”更新了没问题,但是审批表的的审批状态没有更新到“待办事项”表对应的ID行的“审批状态”

[此贴子已经被作者于2021/10/18 14:54:01编辑过]

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


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/10/18 14:55:00 [显示全部帖子]

我最后直接保存了“待办事项”表啊?这样保存有问题吗?

 回到顶部