以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 根据2350.htm设计的下拉列表出错,帮忙分析下 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43520) |
||||
-- 作者:tomcat521 -- 发布时间:2013/12/9 14:39:00 -- 根据2350.htm设计的下拉列表出错,帮忙分析下 目前建立了两个表:客户列表、安装(用来记录设备安装),两个表都想取消在表中编辑,双击鼠标后在模式窗口中输入。 安装:想在科室建立一个下拉列表,根据省份----医院名称----安装科室找到目标,同时连同客户号也一起输入。 下拉列表可以出来,但是一次只能输入安装科室,且会提示“该客户已经登记过”。。。。 |
||||
-- 作者:tomcat521 -- 发布时间:2013/12/9 14:42:00 -- 这个是客户列表录入窗口才会出现的提示。。。 |
||||
-- 作者:Bin -- 发布时间:2013/12/9 14:47:00 -- 没发现报错啊 |
||||
-- 作者:tomcat521 -- 发布时间:2013/12/9 16:22:00 -- 第一行没有报错,第三行、第四行我试着就报错了。 |
||||
-- 作者:Bin -- 发布时间:2013/12/9 16:23:00 -- 统统没发现问题. |
||||
-- 作者:tomcat521 -- 发布时间:2013/12/9 16:23:00 -- |
||||
-- 作者:Bin -- 发布时间:2013/12/9 16:29:00 -- 你把我搞晕了,你到底是想怎么样. 安装表输入省份 和医院名称 和医院号 然后把客户编号带过来? 还是想怎么样? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/12/9 16:29:00 -- 你在客户表的DataColChanged事件的代码是:
Select Case e.DataCol.name Case "医院名称","安装科室" Dim dr As DataRow = e.DataRow If dr.IsNull("医院名称") = False AndAlso dr.IsNull("安装科室") = False Then If e.DataTable.Compute("Count([_Identify])","医院名称 = \'" & dr("医院名称") & "\' And 安装科室 = \'" & dr("安装科室") & "\'") > 1 Then MessageBox.Show("该客户已经登记过了!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.DataRow(e.DataCol.Name) = e.OldValue \'取消输入 End If End If End Select
有提示,就是有重复啊,自己写的代码,自己分析一下。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/12/9 16:34:00 -- 然后分析,你下拉窗口是用来输入安装表,怎么会触发客户表的DatacolChanged事件呢,显然不正常。
检查你的下拉窗口的事件,发现目录树双击事件的代码为(你留意红色的这一行):
If e.Node.Level = 3 Then \'如果单击的是第四层节点
很明显,红色的错了,应该是:
Dim tr As Row = Tables("安装").Current
[此贴子已经被作者于2013-12-9 16:36:15编辑过]
|
||||
-- 作者:tomcat521 -- 发布时间:2013/12/9 17:46:00 -- 谢谢狐狸爸爸,昨晚发现这个问题,就是想不通,为什么安装表的下拉列表,会触发客户列表的事件。。。。。 |