遇到一个新问题:
原来的问题经过大红袍老师的精心指点已经解决,现在发现的问题是:第一次运行时出现错误,错误提示是
未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
(该提示 是 ls.add 已经出现了第一个数据记录时才出现的 )
同时,外部数据的第1条记录出现下列提示:
![dvubb](skins/default/filetype/jpg.gif)
此主题相关图片如下:未命名.jpg
![dvubb 按此在新窗口浏览图片](UploadFile/2015-11/201511121543189816.jpg)
附上各代码:
1、按钮代码:
vars.add("i", Gettype(Integer),0)
vars("i") = 0
vars.add("ls", Gettype(List(of String)))
vars("ls") = new List(of String)
vars.add("count", Gettype(Integer),0)
vars("count") = 0
MessageBox.Show( "i是" & vars("i") & "count是 " & vars("count") )
For Each dr As DataRow In DataTables("网络教职工").DataRows
If dr.RowState <> DataRowState.Unchanged Then
vars("count") += 1
End If
Next
For Each dr2 As DataRow In DataTables("网络事业基数").DataRows
If dr2.RowState <> DataRowState.Unchanged Then
dr2.save
End If
Next
For Each dr As DataRow In DataTables("网络教职工").Select("", "是否在职 desc,姓名")
'For Each dr As DataRow In DataTables("网络教职工").DataRows
If dr.RowState <> DataRowState.Unchanged Then
dr.save
End If
Next
If vars("i") = 0 Then
MessageBox.Show("数据没有变动,不需保存")
End If
2、表属性代码:
Dim RowQty As Integer = vars("count")
Dim RowQty2 = DataTables("网络教职工").DataRows.Count
Dim ls = vars("ls")
If Forms("数据上报与接受窗体").Opened Then '事先必须建立【提示】窗体
Forms("数据上报与接受窗体").Controls("开始保存反馈").Text = "开始保存有变动的数据记录......"
Application.DoEvents()
Dim txt As Winform.TextBox = Forms("数据上报与接受窗体").Controls("姓名列组")
'ls.add( "第" & e.DataRow("编号") & "条记录: " & e.DataRow("姓名") & "......." & Format( val(e.DataRow("编号"))/RowQty,"0.0%") & " ......保存完毕")
ls.add( "编号" & e.DataRow("排序") & ": " & e.DataRow("是否在职") & "......." & e.DataRow("渠道") & "......" & e.DataRow("姓名") & " ......保存完毕")
If ls.count > 22 Then
ls.RemoveAt(0) '删除ls的第一个值
End If
vars("i") = vars("i") + 1
Dim str As String = String.Join(vbcrlf, ls.ToArray)
txt.Text = str
Application.DoEvents()
Forms("数据上报与接受窗体").Controls("更新统计").Text = "总记录:" & RowQty2 & " 需更新:" & RowQty & " 已更新:" & vars("i") & " 进度:" & Format( (vars("i"))/RowQty,"0.0%") '这里的变量未能显示出正确的值
End If
If vars("i") = RowQty Then
Forms("数据上报与接受窗体").Controls("保存结束反馈").Text = "保存结束,开始清空临时数据..."
End If
在窗体不关闭的情况下,再次运行,则不会出现错误提示,原来没有发现这个问题可能是一直在多次运行中修改,没有关闭后重新运行。敬请老师指教!
[此贴子已经被作者于2015/11/12 15:28:10编辑过]