以文本方式查看主题

-  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=52483)

--  作者:kensou11111
--  发布时间:2014/6/16 22:47:00
--  [求助]组合框输入的值自动变化
为什么我设计的窗口中的一个combobox中输入的值会自动变呢?如下图,我在客户编号中输入A005

此主题相关图片如下:搜狗截图01.png
按此在新窗口浏览图片

然后按回车或点击其他控件后,其自动变成了A004,如下图

此主题相关图片如下:搜狗截图02.png
按此在新窗口浏览图片

不是每次输入都会变,但机会很大我只在该combobox的以下2个事件中设置了代码,其余的事件以及全局事件都没有涉及涉及该控件的代码:

Valuechanged事件:

If e.Sender.value > "" Then

    Dim dr As DataRow

    dr = DataTables("客户信息设置").SQLFind("客户编码 = \'" & e.Sender.value & "\'")

    If dr IsNot Nothing Then \'如果找到的话

        E.Form.Controls("客户简称").value = dr("客户简称")

        Tables("销售订单表头").current("联系人") = dr("联系人")

        Tables("销售订单表头").current("手机") = dr("手机")

        Tables("销售订单表头").current("联系电话") = dr("电话号码")

        Tables("销售订单表头").current("发货地址") = dr("详细地址")

    End If

Else

    E.Form.Controls("客户简称").value = ""

    Tables("销售订单表头").current("联系人") = ""

    Tables("销售订单表头").current("手机") = ""

    Tables("销售订单表头").current("联系电话") = ""

    Tables("销售订单表头").current("发货地址") = ""

End If


Validating事件: 

If e.Sender.value IsNot Nothing Then

    Dim cmd As NEW SQLCommand

    cmd.ConnectionName = "project"

    cmd.CommandText ="Select Count(*) From {客户信息设置} Where 客户编码 = \'" & e.Sender.TEXT & "\'"

    If cmd.ExecuteScalar <= 0 Then

        e.Cancel = True

        Messagebox.Show("不存在该客户","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

    End If

End If


--  作者:kensou11111
--  发布时间:2014/6/16 22:50:00
--  
我曾经试过删除 Valuechanged事件的代码,这时是正常的,不会出现以上现象,难道这两个事件的代码有冲突吗?
--  作者:有点甜
--  发布时间:2014/6/16 22:54:00
--  

 如果你这个控件绑定了表的列,那么修改表的数据的时候,控件的值自然会改变。

 

 去看看表事件代码。


--  作者:kensou11111
--  发布时间:2014/6/16 23:01:00
--  
该控件虽然绑定了“销售订单表头”的“客户编码”列,但该列的值只能通过此控件进行编辑,没有从 “销售订单表头”直接进行编辑的,并且该表的表事件没有设置任何代码
--  作者:有点甜
--  发布时间:2014/6/16 23:25:00
--  

 那就不应该有错。

 

 你去看看表事件和全局表事件,肯定是在某个地方修改了它的值。


--  作者:kensou11111
--  发布时间:2014/6/17 19:55:00
--  
都检查过了, 表事件和全局表事件都是没有设置代码的
--  作者:有点甜
--  发布时间:2014/6/17 19:57:00
--  
 呃,那就没理由。把项目弄上来测试一下。
--  作者:kensou11111
--  发布时间:2014/6/17 21:05:00
--  
我使用的SQL的外部数据源,需要先打开“销售订单主界面”窗口,在该窗口中选择单据然后点“选择”按键,进入“销售订单明细”窗口进行操作。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:云金管理系统.rar


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:data.rar


[此贴子已经被作者于2014-6-17 21:07:10编辑过]

--  作者:有点甜
--  发布时间:2014/6/17 21:08:00
--  
 把sql数据源转成Access数据源,然后发上来测试。
--  作者:kensou11111
--  发布时间:2014/6/17 21:42:00
--  
改成了 Access数据源
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:project.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:云金管理系统.rar