新人不懂编程,代码都是慢慢摸索着COPY出来的,现在遇到个问题实在解决不了,求老师帮忙
在实际操作的时候发现这么个问题,就是如果我表属性里有代码,刚打开项目是不会有效的,需要点表属性,确认一次才行,直接进窗口模式的界面表属性是直接有效的,不过这个问题只要每次点一下就解决,无所谓。
现在某张表的表属性里有这么一段代码,如下:
根据中间那段,在第三列填入值的时候自动产生第十二列的值,正常用输入的时候是没问题的,问题出在复制的时候,如果是一段一段的复制就没问题,如果同时复制二段以上的数据,只有每一段根据代码自己填入第十二列值,第二、三段都是无效的,求问老师,这是为什么,怎么改代码?
If e.DataCol.Name = "第二列" AndAlso e.NewValue <> Nothing Then '电话号码查重
Dim ab As String = e.NewValue
Dim aa As DataRow = DataTables("商户台账").Find("绑定电话 = '" & e.newValue & "'")
If ab.length <> 12 Then
MessageBox.show("电话号码有误, 请核实", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
e.Cancel = True
Else If aa IsNot Nothing Then
MessageBox.show("该电话号码 " & ab & " 已被 " & aa("商户名称") & " 绑定, 请核实", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
e.Cancel = True
End If
======================
Else If e.DataCol.Name = "第三列" AndAlso e.NewValue <> Nothing Then '绑定账号查正
Dim ab As String = e.NewValue
If ab.length = 16 Then
Tables("临时").Current("第十二列") = 1
Else If ab.length = 17 Then
Tables("临时").Current("第十二列") = 2
Else
MessageBox.show("账号有误, 请核实", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
e.Cancel = True
End If
==================
Else If e.DataCol.Name = "第十列" AndAlso e.NewValue <> Nothing Then '营业执照号查重
Dim ab As String = e.NewValue
Dim aa As DataRow = DataTables("商户台账").Find("营业执照号 = '" & e.newValue & "'")
If aa IsNot Nothing Then
Dim Result As DialogResult = MessageBox.show("该营业执照已被 " & aa("商户名称") & " 登记, 是否为存量增加?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information)
If Result = DialogResult.Yes Then
Tables("临时").Current("第十二列") = 0
Else e.Cancel = True
End If
End If
End If
[此贴子已经被作者于2016/1/25 17:59:53编辑过]