Foxtable(狐表)用户栏目专家坐堂 → [求助]关于遍历保存的问题


  共有2972人关注过本帖树形打印复制链接

主题:[求助]关于遍历保存的问题

帅哥哟,离线,有人找我吗?
lesliecheung912
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:452 积分:3015 威望:0 精华:0 注册:2014/4/23 17:12:00
[求助]关于遍历保存的问题  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:452 积分:3015 威望:0 精华:0 注册:2014/4/23 17:12:00
  发帖心情 Post By:2014/8/11 15:50:00 [只看该作者]

谢谢您甜姐,忘记用Flag了图片点击可在新窗口打开查看

 回到顶部