以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 哪位老师教一下这个,我是新手,关于判断保存的 (http://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 |
-- 作者:hdffczx -- 发布时间:2014/7/18 10:55:00 -- 谢谢老师,真厉害啊您 |