以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]为什么在项目属性里写的代码新导入的表不能用了?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88790)

--  作者:zhangtongrt
--  发布时间:2016/8/9 16:10:00
--  [求助]为什么在项目属性里写的代码新导入的表不能用了?
突然间新导入的表不能自动形成编号了。其他表都好好的。
If e.DataTable.Name <> "数据表" AndAlso e.DataTable.Name <> "宣传员统计表" AndAlso e.DataTable.Name <> "一万五千人员核算表" Then 
Select e.DataCol.Name
        Case "第一次收益时间","人员姓名"
            If e.DataRow.IsNull("第一次收益时间") OrElse e.DataRow.IsNull("人员姓名") Then
                e.DataRow("人员编号") = Nothing
            Else
                Dim d As Date = e.DataRow("第一次收益时间")
                Dim fd As Date = d
                Dim ld As Date = fd.AddDays(1)
                Dim bh As String = e.DataRow("人员姓名") & "-" & Format(d,"yyMMdd") & "-"
                
                If e.DataRow("人员编号").StartsWith(bh) = False
                    Dim max As String
                    Dim idx As Integer
                    Dim flt As String
                    flt = "人员姓名 = \'"& e.DataRow("人员姓名") & "\' And 第一次收益时间 >= #" & fd & "# And 第一次收益时间 < #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")
                    max = e.DataTable.Compute("Max(人员编号)",flt)
                    
                    If max > "" Then \'如果存在最大单据编号
                        idx = CInt(max.Substring(bh.length)) + 1
                    Else
                        idx = 1
                    End If
                    e.DataRow("人员编号") = bh & Format(idx,"0000")
                End If
            End If
    End Select
End If

--  作者:大红袍
--  发布时间:2016/8/9 16:31:00
--  

 你要开启某表的全局事件,才能触发事件

 

DataTables("表A").GlobalHandler.DataColChanged = True

 


--  作者:zhangtongrt
--  发布时间:2016/8/9 17:19:00
--  
早就开了,不然之前的表都不能用
--  作者:大红袍
--  发布时间:2016/8/9 17:33:00
--  
以下是引用zhangtongrt在2016/8/9 17:19:00的发言:
早就开了,不然之前的表都不能用

 

新导入的表,没有开启啊。要重新开启


--  作者:zhangtongrt
--  发布时间:2016/8/9 18:03:00
--  
退出重进后好了,可能有BUG。。。。什么都没改
--  作者:大红袍
--  发布时间:2016/8/9 18:09:00
--  
以下是引用大红袍在2016/8/9 17:33:00的发言:

 

新导入的表,没有开启啊。要重新开启

 

你新导入的表,是没有全局事件的。必须开启一下,才行。