以文本方式查看主题 - 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的发言:
新导入的表,没有开启啊。要重新开启
你新导入的表,是没有全局事件的。必须开启一下,才行。 |