以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于遍历保存的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55133) |
-- 作者:lesliecheung912 -- 发布时间:2014/8/11 15:30:00 -- [求助]关于遍历保存的问题 对于窗口中的表A,可以一次性增加几条明细,然后将每一条明细的内容填入,最后点保存按钮,遍历录入的几条明细,对于应该录入而没有录入的字段,报个Message,并退出For循环,然后保存并锁定行。代码如下: With Tables("表A") If .Rows.count > 0 Then Dim Result As DialogResult Result = MessageBox.Show("是否确定保存表A?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then For Each r As Row In Tables("表A") If r("字段1") = Nothing Then Messagebox.show("请选择字段1!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Exit For ElseIf r("字段2") = Nothing Then Messagebox.show("请选择字段2!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Exit For Else For i As Integer = 0 To .Rows.count - 1 .Rows(i).Locked = True .Rows(i).Save Next Messagebox.show("表A已保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If Next Else Messagebox.show("请继续!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If Else Messagebox.show("当前表无数据,保存无效!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If End With 但对于以上代码,保存部分不正确,如果每条明细都正常录入的话,“表A已保存”的Message会重复报几次,应该如何更改才能完成:如果明细中有没有录入的字段则报个Message并退出整个保存里的代码;在完全遍历完所有明细后再去判断是否保存,只要明细中有没有录入的字段就不予保存,否则则保存并报Message
|
-- 作者:有点甜 -- 发布时间:2014/8/11 15:41:00 -- Dim flag As Boolean = True With Tables("表A") If .Rows.count > 0 Then Dim Result As DialogResult Result = MessageBox.Show("是否确定保存表A?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then For Each r As Row In Tables("表A") If r("字段1") = Nothing Then Messagebox.show("请选择字段1!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) flag = False Exit For ElseIf r("字段2") = Nothing Then Messagebox.show("请选择字段2!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) flag = False Exit For End If Next If flag Then For i As Integer = 0 To .Rows.count - 1 .Rows(i).Locked = True .Rows(i).Save Next Messagebox.show("表A已保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If Else Messagebox.show("请继续!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If Else Messagebox.show("当前表无数据,保存无效!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If End With |
-- 作者:lesliecheung912 -- 发布时间:2014/8/11 15:50:00 -- 谢谢您甜姐,忘记用Flag了 ![]() |