以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]代码多次运算,不知道什么问题(已解决)? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128540) |
-- 作者:lunengcheng -- 发布时间:2018/12/10 10:12:00 -- [求助]代码多次运算,不知道什么问题(已解决)? 各位老师前辈,我写了下面这段代码,主要是根据四个明细表的接收情况,在主表的接收状态生成“已完成”和“未完成”,下面这段代码在Datacolchanged中计算结果是正确的,但是我放的MessageBox.show测试代码会弹出两轮,是否说明代码重复计算了,而且个人总觉得代码这么写好像不规范,希望大家能指点一下,多谢了! [此贴子已经被作者于2018/12/10 11:16:19编辑过]
|
-- 作者:y2287958 -- 发布时间:2018/12/10 10:53:00 -- If e.DataCol.Name="接收状态" Then Dim ss,st As String ss = "工作|物品|账号|其它" For Each s As String In ss.split("|") Dim cmd As New SQLCommand cmd.C cmd.CommandText = "S elect Count(*) From {YW_人事交接" & s & "交接} Where 编号 = \'" & e.DataRow("编号") & "\' AND 接收日期 IS NULL " If cmd.ExecuteScalar() <> 0 st = "未完成" End If Next If st = "未完成" e.DataRow("接收状态")= st Else e.DataRow("接收状态")= "已完成" End If End If [此贴子已经被作者于2018/12/10 10:53:57编辑过]
|
-- 作者:lunengcheng -- 发布时间:2018/12/10 11:08:00 -- 多谢老大指点,不过现在两个小问题: 1.cmd.C 这行是不是多余的,保留这行会报错; 2.去掉上面这行后,会报下面这个错,一共报四次后打开窗口: .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2018.10.9.1 错误所在事件: 详细错误信息: 无效的 SQL语句;期待 \'DELETE\'、\'INSERT\'、\'PROCEDURE\'、\'SELECT\'、或 \'UPDATE\'。 |
-- 作者:有点甜 -- 发布时间:2018/12/10 11:08:00 -- 参考
If e.DataCol.Name="接收状态" Then |
-- 作者:lunengcheng -- 发布时间:2018/12/10 11:16:00 -- 用甜老师的代码已经搞定,多谢两位老师指点! |