Foxtable(狐表)用户栏目专家坐堂 → 关于在原单元格添加新的数据的问题


  共有4726人关注过本帖树形打印复制链接

主题:关于在原单元格添加新的数据的问题

帅哥哟,离线,有人找我吗?
温馨的大树
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1807 威望:0 精华:0 注册:2020/2/3 11:16:00
关于在原单元格添加新的数据的问题  发帖心情 Post By:2020/4/11 11:41:00 [只看该作者]

你好,提交新订单时,老客户有了新的QQ号码,想在客户数据表的客户QQ单元格中添加新QQ号,可是执行代码时总是没法实现,麻烦给看看什么 原因啊?在订单编辑窗口的提交控件的click中代码如附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:需求助代码.txt


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110733 积分:563585 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1807 威望:0 精华:0 注册:2020/2/3 11:16:00
回复:(有点蓝)Dim dr As DataRowdr = DataTables("...  发帖心情 Post By:2020/4/11 16:58:00 [只看该作者]

我这边的一个思路是这样的,提交订单前,先验证客户电话是否能在客户数据表找到,  如果找到,看看客户QQ和客户微信是否包含本订单的客户QQ和客户微信,如果不包含就在以前的数据上添加上新的数据;  如果找不到,接着判断QQ是否能找到,QQ如果能找到,类似前面的方法添加电话和微信,如果QQ也找不到,就接着判断微信是否能找到,能找到,用前面类似的方法添加电话和QQ,如果微信也找不到,就在客户数据表添加新的记录,分别录入输入的电话,QQ,微信。  刚才用老师的回复更正了一下,在电话查找验证部分还可以,在QQ部分进行测试的时候就不能实现了,附件我发上来,麻烦老师指导一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:需求助代码.txt


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110733 积分:563585 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 17:28:00 [只看该作者]

QQ有多个时,使用=判断肯定是找不到的

dr1 = DataTables("客户数据表") .SQLFind("'/'+客户QQ+'/' like '%/" & r("客户_QQ") & "/%'")

同样,如果电话、微信也是有多个的,参考上面改改

 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1807 威望:0 精华:0 注册:2020/2/3 11:16:00
回复:(有点蓝)QQ有多个时,使用=判断肯定是找不到的...  发帖心情 Post By:2020/4/11 20:32:00 [只看该作者]

你好,按照老师的指导修改了一下,不过测试后发现,在客户数据表里电话、QQ、微信都找不到的,好象不能在客户数据表里新增数据,还出现把订单编辑窗口里输入的数据添加到不相关的行里面去了!仔细看了下,还是找不到问题出在哪里,代码见附件,希望能指导一下,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:需求助代码.txt


 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1807 威望:0 精华:0 注册:2020/2/3 11:16:00
回复:(有点蓝)QQ有多个时,使用=判断肯定是找不到的...  发帖心情 Post By:2020/4/12 9:01:00 [只看该作者]

麻烦再帮我看一下是什么问题吗?按照你后面的指导进行了修改,语法上也没有发现什么错误,但是测试的时候,发现并没有按照设计的思路进行添加安排,而且生成客户编号好象也是出现问题的。

 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1807 威望:0 精华:0 注册:2020/2/3 11:16:00
换了一个思路试了一下,还是不行,麻烦给看看新的这个思路有什么问题没有?  发帖心情 Post By:2020/4/12 14:57:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:提交订单代码.txt


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110733 积分:563585 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1807 威望:0 精华:0 注册:2020/2/3 11:16:00
本来都是查不到的电话、QQ、微信,结果测试都加上到KH-03496这个客户编号上去了,很奇怪啊  发帖心情 Post By:2020/4/13 0:21:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:万能五笔截图_20200413001539.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1807 威望:0 精华:0 注册:2020/2/3 11:16:00
  发帖心情 Post By:2020/4/13 0:24:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:万能五笔截图_20200413001720.png
图片点击可在新窗口打开查看

 回到顶部
总数 18 1 2 下一页