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


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

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

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/11 17:28:00 [显示全部帖子]

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

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

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

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/13 9:06:00 [显示全部帖子]

上传实例说明

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/13 11:40:00 [显示全部帖子]

删除数据保留一部分测试用即可。然后压缩一下项目,最后压缩后再上传

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/13 15:02:00 [显示全部帖子]


Dim r As Row = Tables("订单明细表").Current
If r IsNot Nothing Then
    Dim dr5 As DataRow
    If r.IsNull("客户电话") = False
        Dim dhs() As String = r("客户电话").trim().split("/")
        For Each dh As String In dhs
            dr5 = DataTables("客户数据表") .SQLFind("'/'+客户电话+'/' like '%/" & dh & "/%'")
            If dr5 IsNot Nothing Then Exit For
        Next
        If dr5 IsNot Nothing Then
            Dim lst As new List(of String)
            For Each d As String In dr5("客户电话").trim().split("/")
                If lst.Contains(d) = False Then lst.Add(d)
            Next
            For Each d As String In dhs
                If lst.Contains(d) = False Then lst.Add(d)
            Next
            dr5("客户电话") = String.Join("/",lst.ToArray)
            If dr5.IsNull("客户QQ号")
                dr5("客户QQ号")=r("客户QQ号")
            Else
                lst.Clear
                For Each d As String In dr5("客户QQ号").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                For Each d As String In r("客户QQ号").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                dr5("客户QQ号") = String.Join("/",lst.ToArray)
            End If
            
            If dr5.IsNull("微信号码")
                dr5("微信号码")= r("客户微信")
            Else
                lst.Clear
                For Each d As String In dr5("微信号码").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                For Each d As String In r("客户微信").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                dr5("微信号码") = String.Join("/",lst.ToArray)
            End If
        End If
    End If
    If dr5 Is Nothing AndAlso r.IsNull("客户QQ号") = False
        Dim dhs() As String = r("客户QQ号").trim().split("/")
        For Each dh As String In dhs
            dr5 = DataTables("客户数据表") .SQLFind("'/'+客户QQ号+'/' like '%/" & dh & "/%'")
            If dr5 IsNot Nothing Then Exit For
        Next
        If dr5 IsNot Nothing Then
            Dim lst As new List(of String)
            For Each d As String In dr5("客户QQ号").trim().split("/")
                If lst.Contains(d) = False Then lst.Add(d)
            Next
            For Each d As String In dhs
                If lst.Contains(d) = False Then lst.Add(d)
            Next
            dr5("客户QQ号") = String.Join("/",lst.ToArray)
            If dr5.IsNull("客户电话")
                dr5("客户电话")=r("客户电话")
            Else
                lst.Clear
                For Each d As String In dr5("客户电话").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                For Each d As String In r("客户电话").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                dr5("客户电话") = String.Join("/",lst.ToArray)
            End If
            
            If dr5.IsNull("微信号码")
                dr5("微信号码")= r("客户微信")
            Else
                lst.Clear
                For Each d As String In dr5("微信号码").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                For Each d As String In r("客户微信").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                dr5("微信号码") = String.Join("/",lst.ToArray)
            End If
        End If
    End If
    
    If dr5 Is Nothing AndAlso r.IsNull("客户微信") = False
        Dim dhs() As String = r("客户微信").trim().split("/")
        For Each dh As String In dhs
            dr5 = DataTables("客户数据表") .SQLFind("'/'+微信号码+'/' like '%/" & dh & "/%'")
            If dr5 IsNot Nothing Then Exit For
        Next
        If dr5 IsNot Nothing Then
            Dim lst As new List(of String)
            For Each d As String In dr5("微信号码").trim().split("/")
                If lst.Contains(d) = False Then lst.Add(d)
            Next
            For Each d As String In dhs
                If lst.Contains(d) = False Then lst.Add(d)
            Next
            dr5("微信号码") = String.Join("/",lst.ToArray)
            If dr5.IsNull("客户电话")
                dr5("客户电话")=r("客户电话")
            Else
                lst.Clear
                For Each d As String In dr5("客户电话").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                For Each d As String In r("客户电话").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                dr5("客户电话") = String.Join("/",lst.ToArray)
            End If
            
            If dr5.IsNull("客户QQ号")
                dr5("客户QQ号")= r("客户QQ号")
            Else
                lst.Clear
                For Each d As String In dr5("客户QQ号").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                For Each d As String In r("客户QQ号").trim().split("/")
                    If lst.Contains(d) = False Then lst.Add(d)
                Next
                dr5("客户QQ号") = String.Join("/",lst.ToArray)
            End If
        End If
    End If
    
    If dr5 IsNot Nothing Then
        If dr5.IsNull("客户网名")
            dr5("客户网名")=r("客户网名")
        Else
            Dim qqs As new List(of String)
            For Each d As String In dr5("客户网名").trim().split("/")
                If qqs.Contains(d) = False Then qqs.Add(d)
            Next
            For Each d As String In r("客户网名").trim().split("/")
                If qqs.Contains(d) = False Then qqs.Add(d)
            Next
            dr5("客户网名") = String.Join("/",qqs.ToArray)
        End If
        r("客户编号") = dr5("客户编号")
    Else
        dr5 = DataTables("客户数据表").AddNew()
        Dim bh2 As String
        Dim Inx2 As Integer
        bh2 = DataTables("客户数据表").SQLCompute("Max(客户编号)")
        Inx2 = CInt(bh2.SubString(3,5) + 1)

        dr5("客户编号") = "KH" & "-" & 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()
End If
DataTables("客户数据表").load

 回到顶部