以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]录入窗口部分代码问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71706) |
-- 作者:blsu33 -- 发布时间:2015/7/16 14:51:00 -- [求助]录入窗口部分代码问题 老师, 录入窗口的保存按钮有问题,麻烦您给看下哪里不对 位置 点击“增加”按钮 然后进入“JOBCARD编辑窗口” 保存按钮的代码这部分 在对应为空的时候 没有执行,请老师给看下 If Tables("ar_table5").Current IsNot Nothing Then For Each st As String In sts2 If Tables("ar_table5").Current.isnull(st) = True Then MessageBox.Show("Pre show<- "& ST &" ->列未填写完整,不能保存!","提醒") Return [此贴子已经被作者于2015/7/16 16:33:28编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/7/16 15:07:00 -- 有什么问题?只要填入了内容,就没问题啊。 |
-- 作者:blsu33 -- 发布时间:2015/7/16 15:09:00 -- 哦 没填 就可以保存 |
-- 作者:大红袍 -- 发布时间:2015/7/16 15:10:00 --
[此贴子已经被作者于2015/7/16 15:10:21编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/7/16 15:14:00 -- If Tables("ar_table5").Current IsNot Nothing Then
|
-- 作者:blsu33 -- 发布时间:2015/7/16 15:59:00 -- 老师, 在录入 旧项目号: AAAER14001-001 我是粘贴进去的 为什么速度特变慢,第一遍没有执行 第二遍才执行 AR窗口的 Table5 Datacolchanged 的代码下面黄色标注的 Select e.DataCol.Name Case "旧项目号" Dim dt,dt1,dt2 As DataTable Dim cmd,cmd1,cmd2 As New SQLCommand cmd.C cmd1.C cmd2.C cmd.CommandText = "SELECT * Fr om {ERPcode} where 1=2" cmd1.CommandText = "SELECT * Fr om {组别转换} where 1=2" cmd2.CommandText = "SELECT * Fr om {Showcode转换} where 1=2" dt = cmd2.ExecuteReader() dt1 = cmd1.ExecuteReader() dt2 = cmd.ExecuteReader() If e.NewValue IsNot Nothing AndAlso e.NewValue.Length >2 Then Dim dr,dr1,dr3 As DataRow dr = dt.sqlFind("旧项目号= \'"& e.NewValue &"\'") If dr IsNot Nothing Then e.DataRow("项目号") =dr("项目号") e.DataRow("ShowName")=dr("ProjectName") e.DataRow("组别")=e.DataRow("项目号").SubString(0,2) dr1 = dt1.sqlFind("原组别=\'"& e.DataRow("组别") &"\'") If dr1 IsNot Nothing Then e.DataRow("组别")="" e.DataRow("组别")=dr1("组别") End If Else dr3=dt2.sqlFind("Project= \'" & e.DataRow("项目号") &"\'") If dr3 IsNot Nothing Then e.DataRow("项目号")=dr3("Project") e.DataRow("组别") =e.DataRow("项目号").SubString(0,2) e.DataRow("pic")=dr3("PIC name") e.DataRow("ShowName")=dr3("Name") Else e.DataRow("项目号")=e.DataRow("旧项目号") e.DataRow("组别") =e.DataRow("项目号").SubString(0,2) End If End If End If |
-- 作者:大红袍 -- 发布时间:2015/7/16 16:09:00 -- 尽量不要在输入的时候查询,因为每查一次,都耗时。
TextChanged事件代码
If e.Sender.Text IsNot Nothing Then
Leave事件代码
Tables("ar_table5").Current("旧项目号") =e.Sender.Text.ToUpper |
-- 作者:blsu33 -- 发布时间:2015/7/16 16:31:00 -- 老师, 黄色部分的代码 测试了 不知道哪里有问题 不执行 麻烦您再给看看
|
-- 作者:大红袍 -- 发布时间:2015/7/16 16:34:00 -- 你确定这个时候你的 项目号 有值吗?你加入msgbox调试一下
dr3=dt2.sqlFind("Project= \'" & e.DataRow("项目号") &"\'")
|