对于窗口中的表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