以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码调试错误求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=148246)

--  作者:段虎成
--  发布时间:2020/4/3 8:58:00
--  代码调试错误求助

 

老师您好,我有一段代码运行中提示错误,请老师帮我看一下,谢谢!附件已上传。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:增值服务报价管理系统中的调试代码.zip


--  作者:有点蓝
--  发布时间:2020/4/3 9:52:00
--  
Select Case e.DataCol.name
    Case "客户信息_客户名称"
        If e.NewValue > "" Then
            Dim dr As DataRow = DataTables("客户管理系统").find("客户信息_客户名称 = \'" & e.NewValue & "\'")
            If dr IsNot Nothing Then
                dr("客户信息_客户分类") = "签约客户"
            Else
                MessageBox.Show("请先到客户管理系统添加客户信息!","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.DataRow.Delete()
                e.Form.Controls("SplitContainer1").visible = False
            End If
        End If
End Select

比较合理的用法应该是做个下拉窗口选择客户名称

--  作者:段虎成
--  发布时间:2020/4/3 10:15:00
--  

老师您好,报价系统客户选择我做的是下拉窗口选择客户。所以我为了限制手工录入,所以加了一个判断条件,如果增加的客户在客户管理系统查找不到的时候,禁止录入,且删除当前行,提示用户先到客户管理系统增加客户信息。

 

我把删除行代码改了之后,还是提示相同错误。

 

这段代码我同样在销售报表录入系统用了,在销售报表系统是正常的,但是为什么在增值服务报价系统总是提示错误那?

 

请老师再帮我看看,谢谢!

[此贴子已经被作者于2020/4/3 10:15:47编辑过]

--  作者:有点蓝
--  发布时间:2020/4/3 10:24:00
--  
可能和其它事件有冲突。做个例子发上来看看。


可以把代码放到datacolchanging事件,取消录入提示重新录入即可,没有必要删除行
[此贴子已经被作者于2020/4/3 10:24:48编辑过]

--  作者:段虎成
--  发布时间:2020/4/3 10:38:00
--  
好的老师,我再来试试。谢谢。
--  作者:段虎成
--  发布时间:2020/4/3 10:42:00
--  
老师您好,换了表事件问题解决了,谢谢!图片点击可在新窗口打开查看