以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于在原单元格添加新的数据的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148619) |
||||
-- 作者:温馨的大树 -- 发布时间:2020/4/11 11:41:00 -- 关于在原单元格添加新的数据的问题 你好,提交新订单时,老客户有了新的QQ号码,想在客户数据表的客户QQ单元格中添加新QQ号,可是执行代码时总是没法实现,麻烦给看看什么 原因啊?在订单编辑窗口的提交控件的click中代码如附件
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/11 11:52:00 -- Dim dr As DataRow dr = DataTables("客户数据表") .SQLFind("客户电话 = \'" & r("客户_电话") & "\'") If dr IsNot Nothing Then If dr.IsNull("客户QQ") dr("客户QQ")=r("客户_QQ") Else Dim qqs As new List(of String) qqs.AddRange(dr("客户QQ").split("/")) If qqs.Contains(r("客户_QQ")) = False Then dr("客户QQ")=dr("客户QQ") & "/" & r("客户_QQ") End If End If If r.Isnull("客户_微信") = False dr("客户微信") = r("客户_微信") End If dr.Save() End If
|
||||
-- 作者:温馨的大树 -- 发布时间:2020/4/11 16:58:00 -- 回复:(有点蓝)Dim dr As DataRowdr = DataTables("... 我这边的一个思路是这样的,提交订单前,先验证客户电话是否能在客户数据表找到, 如果找到,看看客户QQ和客户微信是否包含本订单的客户QQ和客户微信,如果不包含就在以前的数据上添加上新的数据; 如果找不到,接着判断QQ是否能找到,QQ如果能找到,类似前面的方法添加电话和微信,如果QQ也找不到,就接着判断微信是否能找到,能找到,用前面类似的方法添加电话和QQ,如果微信也找不到,就在客户数据表添加新的记录,分别录入输入的电话,QQ,微信。 刚才用老师的回复更正了一下,在电话查找验证部分还可以,在QQ部分进行测试的时候就不能实现了,附件我发上来,麻烦老师指导一下。
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/11 17:28:00 -- QQ有多个时,使用=判断肯定是找不到的 dr1 = DataTables("客户数据表") .SQLFind("\'/\'+客户QQ+\'/\' like \'%/" & r("客户_QQ") & "/%\'") 同样,如果电话、微信也是有多个的,参考上面改改
|
||||
-- 作者:温馨的大树 -- 发布时间:2020/4/11 20:32:00 -- 回复:(有点蓝)QQ有多个时,使用=判断肯定是找不到的... 你好,按照老师的指导修改了一下,不过测试后发现,在客户数据表里电话、QQ、微信都找不到的,好象不能在客户数据表里新增数据,还出现把订单编辑窗口里输入的数据添加到不相关的行里面去了!仔细看了下,还是找不到问题出在哪里,代码见附件,希望能指导一下,谢谢
|
||||
-- 作者:温馨的大树 -- 发布时间:2020/4/12 9:01:00 -- 回复:(有点蓝)QQ有多个时,使用=判断肯定是找不到的... 麻烦再帮我看一下是什么问题吗?按照你后面的指导进行了修改,语法上也没有发现什么错误,但是测试的时候,发现并没有按照设计的思路进行添加安排,而且生成客户编号好象也是出现问题的。 |
||||
-- 作者:温馨的大树 -- 发布时间:2020/4/12 14:57:00 -- 换了一个思路试了一下,还是不行,麻烦给看看新的这个思路有什么问题没有?
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/12 22:38:00 -- 试试,如果还不行请上传实例测试 Dim Result As DialogResult Result = MessageBox.Show("确定提交新增订单吗?【是:确定提交; 否:返回修改; 取消:取消提交】","确认提示",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question) If Result = DialogResult.Yes Then Dim cmd As new SQLCommand Dim dt As Date cmd.ConnectionName = "订单管理系统" cmd.CommandText = "select getdate()" dt = cmd.ExecuteScalar Tables("订单明细表").current.DataRow("订单内容_上单时间") = dt Tables("订单明细表").current.DataRow("订单状态") = "待进行" Dim r As Row = Tables("订单明细表").Current Dim p As String = IIF(r.DataRow.Rowstate = Datarowstate.added ,"A#","U#") r.save() Dim dr5 As DataRow dr5 = DataTables("客户数据表") .SQLFind("\'/\'+客户电话+\'/\' like \'%/" & r("客户_电话") & "/%\'") If dr5 IsNot Nothing Then If dr5.IsNull("客户QQ") dr5("客户QQ")=r("客户_QQ") Else Dim qqs As new List(of String) qqs.AddRange(dr5("客户QQ").split("/")) If qqs.Contains(r("客户_QQ")) = False Then dr5("客户QQ")=dr5("客户QQ") & "/" & r("客户_QQ") End If End If If dr5.IsNull("客户微信") dr5("客户微信")= r("客户_微信") Else Dim wxs1 As new List(of String) wxs1.AddRange(dr5("客户微信").split("/")) If wxs1.Contains(r("客户_微信")) = False Then dr5("客户微信")=dr5("客户微信") & "/" & r("客户_微信") End If End If Else dr5 = DataTables("客户数据表") .SQLFind("\'/\'+客户QQ+\'/\' like \'%/" & r("客户_QQ") & "/%\'") If dr5 IsNot Nothing Then If dr5.IsNull("客户电话") dr5("客户电话")= r("客户_电话") Else Dim dhs As new List(of String) dhs.AddRange(dr5("客户电话").split("/")) If dhs.Contains(r("客户_电话")) = False Then dr5("客户电话")=dr5("客户电话") & "/" & r("客户_电话") End If End If If dr5.IsNull("客户微信") dr5("客户微信")= r("客户_微信") Else Dim wxs1 As new List(of String) wxs1.AddRange(dr5("客户微信").split("/")) If wxs1.Contains(r("客户_微信")) = False Then dr5("客户微信")=dr5("客户微信") & "/" & r("客户_微信") End If End If Else dr5 = DataTables("客户数据表") .SQLFind("\'/\'+客户微信+\'/\' like \'%/" & r("客户_微信") & "/%\'") If dr5 IsNot Nothing Then If dr5.IsNull("客户电话") dr5("客户电话")= r("客户_电话") Else Dim dhs As new List(of String) dhs.AddRange(dr5("客户电话").split("/")) If dhs.Contains(r("客户_电话")) = False Then dr5("客户电话")=dr5("客户电话") & "/" & r("客户_电话") End If End If If dr5.IsNull("客户QQ") dr5("客户QQ")= r("客户_QQ") Else Dim wxs1 As new List(of String) wxs1.AddRange(dr5("客户QQ").split("/")) If wxs1.Contains(r("客户_QQ")) = False Then dr5("客户QQ")=dr5("客户QQ") & "/" & r("客户_QQ") End If End If End If End If End If If dr5 IsNot Nothing Then If dr5.IsNull("客户网名") dr5("客户网名")=r("客户_网名") Else Dim qqs As new List(of String) qqs.AddRange(dr5("客户网名").split("/")) If qqs.Contains(r("客户_网名")) = False Then dr5("客户网名")=dr5("客户网名") & "/" & r("客户_网名") End If End If r("客户_编号") = dr5("客户编号") Else dr5 = DataTables("客户数据表").AddNew() Dim bh2 As String Dim Inx2 As Integer bh2 = DataTables("客户数据表").Compute("Max(客户编号)") Inx2 = CInt(bh2.SubString(3,5) + 1) dr5("客户编号") = "BH" & "-" & Format(Inx2,"00000") r("客户_编号") = dr5("客户编号") dr5("客户网名") = r("客户_网名") dr5("网名备注") = r("客户_网名备注") dr5("客户电话")= r("客户_电话") dr5("客户QQ") = r("客户_QQ") dr5("客户微信") = r("客户_微信") dr5("客户类型") = r("客户_类型") dr5("YZ") = r("客户_YZ") dr5("首单日期") = r("订单日期") dr5("尾单日期") = r("订单日期") End If r.Save() dr5.Save() Dim msg As String = p & "订单明细表" & "#" & r("_identify") For Each bd As QQBuddy In QQClient.Buddies If bd.OnLine Then QQClient.Send(bd.name,msg) End If Next e.Form.close() Else If Result = DialogResult.Cancel Then CurrentTable.Current.Reject() e.Form.Close() End If
|
||||
-- 作者:温馨的大树 -- 发布时间:2020/4/13 0:21:00 -- 本来都是查不到的电话、QQ、微信,结果测试都加上到KH-03496这个客户编号上去了,很奇怪啊 此主题相关图片如下:万能五笔截图_20200413001539.png |
||||
-- 作者:温馨的大树 -- 发布时间:2020/4/13 0:24:00 -- 此主题相关图片如下:万能五笔截图_20200413001720.png |