以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助]数据全都输入了还跳出警告对话框,请大红袍老师帮忙看看代码哪里有问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=74608)
|
-- 作者:twef
-- 发布时间:2015/9/15 11:33:00
-- [求助]数据全都输入了还跳出警告对话框,请大红袍老师帮忙看看代码哪里有问题
数据全都输入了还跳出“数据录入不完整,请继续录入”警告对话框,请大红袍老师帮忙看看代码哪里有问题
With Tables("支付情况登记表") Dim nr As Row = Tables("支付情况登记表").Rows(Tables("支付情况登记表").Rows.Count -1) If nr("项目名称") = Nothing OrElse nr("发生日期") = Nothing OrElse nr("收款方") = Nothing OrElse nr("分类") = Nothing OrElse nr("已付金额") = Nothing Dim Result1 As DialogResult Result1 = MessageBox.Show("数据录入不完整,请继续录入!", "提示") Else Dim Result2 As DialogResult Result2 = MessageBox.Show("请再次确认数据是否无误,保存后将不能修改!", "提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning ) If Result2 = DialogResult.ok Then .Current.Locked = True .Current.Save() End If End If End With
|
-- 作者:Hyphen
-- 发布时间:2015/9/15 12:16:00
--
代码本身没有问题。假如录入的时候使用Delete键清除数据后再重新录入,并且焦点没有离开输入框,会出现这种情况。做法是用代码使得焦点离开编辑的单元格
With Tables("支付情况登记表") Dim nr As Row = Tables("支付情况登记表").Rows(Tables("支付情况登记表").Rows.Count -1) .Position = .Position -1 If nr("项目名称") = Nothing OrElse nr("发生日期") = Nothing OrElse nr("收款方") = Nothing OrElse nr("分类") = Nothing OrElse nr("已付金额") = Nothing Dim Result1 As DialogResult Result1 = MessageBox.Show("数据录入不完整,请继续录入!", "提示") Else Dim Result2 As DialogResult Result2 = MessageBox.Show("请再次确认数据是否无误,保存后将不能修改!", "提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning ) If Result2 = DialogResult.ok Then nr.Locked = True nr.Save() End If End If End With
|
-- 作者:twef
-- 发布时间:2015/9/15 12:44:00
--
问题依然存在,新增行输入所以数据不会出现弹出对话框的问题,若修改数据后就会弹出来
|
-- 作者:Hyphen
-- 发布时间:2015/9/15 13:18:00
--
做个例子上来测试
|
-- 作者:twef
-- 发布时间:2015/9/15 13:48:00
--
|
-- 作者:Hyphen
-- 发布时间:2015/9/15 14:54:00
--
保存按钮事件
Dim nr As Row = Tables("支付情况登记表").Rows(Tables("支付情况登记表").Rows.Count -1)
改成
Dim nr As Row = Tables("支付情况登记表").Current
不然无论修改那一行,都永远判断的是最后一行的值
|