Foxtable(狐表)用户栏目专家坐堂 → 代码整合问题


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

主题:代码整合问题

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
代码整合问题  发帖心情 Post By:2016/11/21 20:14:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq拼音截图未命名.png
图片点击可在新窗口打开查看

查询修改代码
    Dim i As Integer = 1
    For Each gg As String  In DataTables("订单数量明细").GetValues("规格", filter ,"规格 desc")
        gg = e.Form.controls("Tg_" & i).Text
        i+=1
    Next
    Dim j As Integer = 1
    For Each ys As String  In DataTables("订单数量明细").GetValues("颜色", filter,"_Identify")
        ys = e.Form.controls("Tsy_" & j).Text
        j+=1
    Next
    For k As Integer = 1 To j-1
        For l As Integer = 1 To i-1
            Dim temp As String = filter & " and 颜色 = '" & e.Form.controls("Tsy_" & k).Text & "' and 规格 = '" & e.Form.controls("Tg_" & l).Text & "'"
            Dim fdr As DataRow = DataTables("订单数量明细").find(temp)
            If fdr IsNot Nothing Then
                fdr("数量") = e.Form.controls("Ts_" & k & "_" & l).Text
            End If
        Next
    Next

新增代码
For j As Integer = 1 To 7
    For i As Integer = 1 To 7
        Dim dr As String = e.Form.Controls("Ts_" & i & "_" & j).text
        Dim dr2 As String = e.Form.Controls("Tg_"  & j).text
        Dim dr3 As String = e.Form.Controls("Tsy_" & i).text
        If dr <> "" And dr2 <> "" And dr3<> ""  Then
            Dim Tea() As String ={"合同号","款号"}
            Dim r As Row = Tables("订单数量明细").AddNew
            For Each TTL As String In Tea
                r(TTL) = e.Form.Controls(TTL).text
                r("颜色") = e.Form.Controls("Tsy_" & i).Value
                r("规格") = e.Form.Controls("Tg_"  & j).Value
                r("数量") = e.Form.Controls("Ts_" & i & "_" & j).Value
            Next
        End If
    Next
Next


我现在需要把这两段代码整合起来,也就是说,当查询修改窗口里没有内容的单元格,添加后,在“订单数量明细”表里增加新的行填入相应的值


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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/11/21 20:55:00 [只看该作者]

能不能帮我改一下呢

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


加好友 发短信
等级:超级版主 帖子:106414 积分:541217 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/21 20:57:00 [只看该作者]

最好上例子测试

Dim i As Integer = DataTables("订单数量明细").GetValues("规格", filter ,"规格 desc").Count

Dim j As Integer = DataTables("订单数量明细").GetValues("颜色", filter,"_Identify").Count

For k As Integer = 1 To j-1
    For l As Integer = 1 To i-1
        Dim temp As String = filter & " and 颜色 = '" & e.Form.controls("Tsy_" & k).Text & "' and 规格 = '" & e.Form.controls("Tg_" & l).Text & "'"
        Dim fdr As DataRow = DataTables("订单数量明细").find(temp)
        If fdr IsNot Nothing Then
            fdr("数量") = e.Form.controls("Ts_" & k & "_" & l).Text
        Else
            Dim dr As String = e.Form.Controls("Ts_" & l & "_" & k).text
            Dim dr2 As String = e.Form.Controls("Tg_"  & k).text
            Dim dr3 As String = e.Form.Controls("Tsy_" & l).text
            If dr > "" And dr2 > "" And dr3 > ""  Then
                Dim Tea() As String ={"合同号","款号"}
                Dim r As Row = Tables("订单数量明细").AddNew
                For Each TTL As String In Tea
                    r(TTL) = e.Form.Controls(TTL).text
                Next
                r("颜色") = e.Form.Controls("Tsy_" & l).Value
                r("规格") = e.Form.Controls("Tg_"  & k).Value
                r("数量") = e.Form.Controls("Ts_" & l & "_" & k).Value
            End If  
        End If
    Next
Next


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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/11/22 13:54:00 [只看该作者]

上面的代码试过了,不行

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题.foxdb


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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/22 14:26:00 [只看该作者]

Dim ddh As WinForm.TextBox = e.Form.Controls("合同号")
Dim shk As WinForm.TextBox = e.Form.Controls("款号")
Dim dtr5 As String = e.Form.Controls("Ts_8_8").text
If shk.text > "" And ddh.text > "" Then
    Dim filter As String = "合同号 = '" & ddh.Text & "'And 款号 = '" & shk.Text & "' "
    Dim drZ As  List(Of DataRow) = DataTables("订单主表").Select(filter)
    For Each r As DataRow In drZ
        Dim Parts() As String = dtr5.Split("+")
        r("数量") = Parts(0)
    Next
   
    For k As Integer = 1 To 7
        For l As Integer = 1 To 7
            Dim dr As String = e.Form.Controls("Ts_" & l & "_" & k).text
            Dim dr2 As String = e.Form.Controls("Tg_"  & k).text
            Dim dr3 As String = e.Form.Controls("Tsy_" & l).text
            If dr > "" And dr2 > "" And dr3 > ""  Then
                Dim temp As String = filter & " and 颜色 = '" & dr3 & "' and 规格 = '" & dr2 & "'"
                Dim fdr As DataRow = DataTables("订单数量明细").find(temp)
                msgbox(temp)
                If fdr IsNot Nothing Then
                    fdr("数量") = dr
                Else
                    Dim Tea() As String ={"合同号","款号"}
                    Dim r As Row = Tables("订单数量明细").AddNew
                    For Each TTL As String In Tea
                        r(TTL) = e.Form.Controls(TTL).text
                    Next
                    r("颜色") = dr3
                    r("规格") = dr2
                    r("数量") = dr
                End If
            End If
        Next
    Next
    If DataTables("订单主表").HasChanges Or DataTables("订单数量明细").HasChanges  Then
        If MessageBox.Show("款号为" & shk.text & "的订单已经被修改,是否保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
            DataTables("订单数量明细").Save()
            DataTables("订单主表").Save()
            MessageBox.Show("订单更新完成,请打印!")
        End If
    End If
End If

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/11/22 21:29:00 [只看该作者]

    Dim drs As  List(Of DataRow) = DataTables("订单面料明细").Select(filter)
    For ir As Integer = 0 To drs.count-1
        drs(ir)("面料名称") = e.Form.controls("Tml_" & ir+1 & "_2").Text
        drs(ir)("面料规格") = e.Form.controls("Tml_" & ir+1 & "_3" ).Text
        drs(ir)("面料颜色") = e.Form.controls("Tml_" & ir+1 & "_1" ).Text
        drs(ir)("面料成份") = e.Form.controls("Tml_" & ir+1 & "_4").Text
        drs(ir)("面料门幅") = e.Form.controls("Tml_" & ir+1 & "_6" ).Text
        drs(ir)("面料单位") = e.Form.controls("Tml_" & ir+1 & "_5" ).Text
        drs(ir)("面料单耗") = e.Form.controls("Tml_" & ir+1 & "_7").Text
        drs(ir)("面料合计") = e.Form.controls("Tml_" & ir+1 & "_8" ).Text
        drs(ir)("供应商") = e.Form.controls("Tml_" & ir+1 & "_9" ).Text
    Next
那这个代码怎么写呢

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


加好友 发短信
等级:超级版主 帖子:106414 积分:541217 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/22 21:55:00 [只看该作者]

什么意思?

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/11/23 10:22:00 [只看该作者]

现在我想按照上面的代码把下面两个代码也整合在一起,请问怎么改啊

代码1
    Dim drs As  List(Of DataRow) = DataTables("订单面料明细").Select(filter)
    For ir As Integer = 0 To drs.count-1
        drs(ir)("面料名称") = e.Form.controls("Tml_" & ir+1 & "_2").Text
        drs(ir)("面料规格") = e.Form.controls("Tml_" & ir+1 & "_3" ).Text
        drs(ir)("面料颜色") = e.Form.controls("Tml_" & ir+1 & "_1" ).Text
        drs(ir)("面料成份") = e.Form.controls("Tml_" & ir+1 & "_4").Text
        drs(ir)("面料门幅") = e.Form.controls("Tml_" & ir+1 & "_6" ).Text
        drs(ir)("面料单位") = e.Form.controls("Tml_" & ir+1 & "_5" ).Text
        drs(ir)("面料单耗") = e.Form.controls("Tml_" & ir+1 & "_7").Text
        drs(ir)("面料合计") = e.Form.controls("Tml_" & ir+1 & "_8" ).Text
        drs(ir)("供应商") = e.Form.controls("Tml_" & ir+1 & "_9" ).Text
    Next
    Dim drw As  List(Of DataRow) = DataTables("面料明细表").Select(filter)
    For ir As Integer = 0 To drs.count-1
        drw(ir)("面料名称") = e.Form.controls("Tml_" & ir+1 & "_2").Text
        drw(ir)("面料规格") = e.Form.controls("Tml_" & ir+1 & "_3" ).Text
        drw(ir)("颜色") = e.Form.controls("Tml_" & ir+1 & "_1" ).Text
        drw(ir)("面料成分") = e.Form.controls("Tml_" & ir+1 & "_4").Text
        drw(ir)("面料门幅") = e.Form.controls("Tml_" & ir+1 & "_6" ).Text
        drw(ir)("面料单位") = e.Form.controls("Tml_" & ir+1 & "_5" ).Text
        drw(ir)("应耗数量") = e.Form.controls("Tml_" & ir+1 & "_8" ).Text
    Next
代码2
For i1 As Integer = 1 To 9
    Dim drm1 As String = e.Form.Controls("Tml_"  & i1 & "_1" ).text
    Dim drm2 As String = e.Form.Controls("Tml_"  & i1 & "_2" ).text
    Dim drm7 As String = e.Form.Controls("Tml_" & i1 & "_7" ).text
    Dim drm8 As String = e.Form.Controls("Tml_" & i1 & "_8" ).text
    If drm1 <> "" And drm2 <> "" And drm7<> ""  And drm8<> ""  Then
        Dim Tea() As String ={"合同号","款号"}
        Dim r As Row = Tables("订单面料明细").AddNew
        Dim r1 As Row = Tables("面料明细表").AddNew
        For Each TTL As String In Tea
            r(TTL) = e.Form.Controls(TTL).text
            r1(TTL) = e.Form.Controls(TTL).text
            r("面料名称") = e.Form.Controls("Tml_"  & i1 & "_2" ).Value
            r1("面料名称") = e.Form.Controls("Tml_"  & i1 & "_2" ).Value
            r("面料规格") = e.Form.Controls("Tml_"  & i1 & "_3" ).Value
            r1("面料规格") = e.Form.Controls("Tml_"  & i1 & "_3" ).Value
            r("面料成份") = e.Form.Controls("Tml_"  & i1 & "_4" ).Value
            r1("面料成分") = e.Form.Controls("Tml_"  & i1 & "_4" ).Value
            r("面料门幅") = e.Form.Controls("Tml_"  & i1 & "_6" ).Value
            r1("面料门幅") = e.Form.Controls("Tml_"  & i1 & "_6" ).Value
            r("面料单位") = e.Form.Controls("Tml_"  & i1 & "_5" ).Value
            r1("面料单位") = e.Form.Controls("Tml_"  & i1 & "_5" ).Value
            r("面料单耗") = e.Form.Controls("Tml_"  & i1 & "_7" ).Value
            r("面料合计") = e.Form.Controls("Tml_"  & i1 & "_8" ).Value
            r1("应耗数量") = e.Form.Controls("Tml_"  & i1 & "_8" ).Value * 1.03
            r("面料颜色") = e.Form.Controls("Tml_"  & i1 & "_1" ).Value
            r1("颜色") = e.Form.Controls("Tml_"  & i1 & "_1" ).Value
            r("供应商") = e.Form.Controls("Tml_"  & i1 & "_9" ).Value
        Next
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:106414 积分:541217 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/23 10:35:00 [只看该作者]

除非2个表Select返回的行数是一样的,不然没有办法整合到一起

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


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
  发帖心情 Post By:2016/11/24 10:37:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题.foxdb

 

帮我看看吧
现在我想按照上面的代码把下面两个代码也整合在一起,请问怎么改啊


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