以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  哪位老师教一下这个,我是新手,关于判断保存的  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=53924)

--  作者:hdffczx
--  发布时间:2014/7/18 9:15:00
--  哪位老师教一下这个,我是新手,关于判断保存的
有三列,语文、数学、总分;
我在输入完成三列数据后想实现判断保存,如果总分不等于语文+数学就提示一下,如果相等就保存退出。这段代码怎么编写啊,哪位高手给说下,谢谢!!

--  作者:Bin
--  发布时间:2014/7/18 9:18:00
--  
总分用表达式列,设置表达式  [语文]+[数学]     这样就会自动计算出总分
--  作者:Bin
--  发布时间:2014/7/18 9:18:00
--  
http://www.foxtable.com/help/topics/0104.htm

新手建议先看一下我们的帮助
打开软件按F1或者点击左上角的小问号,可以打开非常详细的图文帮助

--  作者:hdffczx
--  发布时间:2014/7/18 9:31:00
--  
不是你说的这么简单的判断,我在现有数据的基础上做一个保存的按钮,保存时又相当于审核了一下所填 的数字
--  作者:狐狸爸爸
--  发布时间:2014/7/18 9:40:00
--  

直接用表达式列计算,实际工作的时候,就不需要手工计算和输入总分,也就不存在错误和审核的问题了。

简单高效。


--  作者:SoftEasy
--  发布时间:2014/7/18 9:42:00
--  
您好 你的问题已经解决 请在表属性中的表事件AtfterEdit 输入以下代码

If e.Col.Name = "总分"
    If Tables("表A").Current("总分") <> Tables("表A").Current("语文") + Tables("表A").Current("数学")
        MessageBox.Show("请重新输入")
    Else
        e.Table.DataTable.Save
    End If
End If

--  作者:hdffczx
--  发布时间:2014/7/18 10:18:00
--  
这个不错,如果在一个保存按钮按下时再判断呢?这个只能在表事件里用,高手,再教一下呗,嘿嘿
--  作者:有点甜
--  发布时间:2014/7/18 10:28:00
--  

 Datacolchanged事件写入代码

 

If e.DataCol.Name = "总分"

    If e.DataRow("总分") <> e.Datarow("语文") + e.Datarow("数学")
        MessageBox.Show("请重新输入")
    Else
        e.Datarow.Save
    End If
End If
[此贴子已经被作者于2014-7-18 10:28:56编辑过]

--  作者:有点甜
--  发布时间:2014/7/18 10:32:00
--  

如果是按钮

 

Dim r As Row = Tables("表A").Current
If r("总分") <> r("语文") + r("数学")
    MessageBox.Show("请重新输入")
Else
    r.Save
End If


--  作者:hdffczx
--  发布时间:2014/7/18 10:55:00
--  
谢谢老师,真厉害啊您