以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自动流转代码问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=31844)

--  作者:syzsyk
--  发布时间:2013/4/21 22:59:00
--  [求助]自动流转代码问题

在例程自动流转一DataColChanged中我增加了2列如下:

Select Case e.DataCol.Name
    Case "第一列","第二列","第三列","第四列","第五列","第六列","第七列","第八列"
        Dim dr As DataRow = e.DataRow
        Dim jd As String = "1A"
        If dr.IsNull("第一列") = False AndAlso dr.IsNull("第二列") = False Then
            jd = "1B"
            If dr.IsNull("第三列") = False AndAlso dr.IsNull("第四列") = False Then
                jd = "2B"
                If dr.IsNull("第五列") = False AndAlso dr.IsNull("第六列") = False Then
                    jd = "3B"
                    If dr.IsNull("第七列") = False AndAlso dr.IsNull("第八列") = False Then
                        jd = "4B"
                End If
            End If
        End If
        If jd = "1B" AndAlso dr("进度") = "2A" Then
        ElseIf jd = "2B" AndAlso dr("进度") = "3A" Then
        Else
            dr("进度") = jd
        End If
End Select

红色部分如何改写?因为对这4行代码不理解。


--  作者:syzsyk
--  发布时间:2013/4/21 23:41:00
--  

等了一阵没人回答,刚才自己试了下,改成这样:

If jd = "1B" AndAlso dr("进度") = "2A" Then
ElseIf jd = "2B" AndAlso dr("进度") = "3A" Then

ElseIf jd = "3B" AndAlso dr("进度") = "4A" Then
Else
dr("进度") = jd


--  作者:syzsyk
--  发布时间:2013/5/1 0:19:00
--  

我的问题还是没有解决,以赵六用户名进入后进度列为什么不显示“4A”?

DataColChanged中

If jd = "1B" AndAlso dr("进度") = "2A" Then
ElseIf jd = "2B" AndAlso dr("进度") = "3A" Then

ElseIf jd = "3B" AndAlso dr("进度") = "4A" Then
Else
dr("进度") = jd

 

ElseIf jd = "3B" AndAlso dr("进度") = "4A" Then 这句有问题?

 


--  作者:syzsyk
--  发布时间:2013/5/1 0:21:00
--  
这是修改的例子
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:程兴刚
--  发布时间:2013/5/1 7:23:00
--  
jd=1B或2A时,可能还会等于2B吗?逻辑上的错误,导致后序代码根本不起作用!
[此贴子已经被作者于2013-5-1 7:24:21编辑过]

--  作者:syzsyk
--  发布时间:2013/5/1 18:50:00
--  

以赵六名义进入为什么不显示数据?哪里有问题?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:xuezxz
--  发布时间:2013/5/1 21:49:00
--  
 Case "赵六"
        Filter = "进度 = \'3B\' Or 进度 = \'4A\'" \'进度二结束或进度三开始
        bj = "4A"
    Case Else
        Filter = "" \'其他用户加载全部记录
End Select
DataTables("表A").LoadFilter = Filter           都没有3B,4A的数据啊
DataTables("表A").Load()
\'设置本流程开始标记
If bj >"" Then
    For Each dr As DataRow In DataTables("表A").DataRows
        dr("进度") = bj
    Next
End If
DataTables("表A").Save()