Foxtable(狐表)用户栏目专家坐堂 → [求助]关于复制关联子表指定列的问题


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

主题:[求助]关于复制关联子表指定列的问题

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


加好友 发短信
等级:四尾狐 帖子:824 积分:7120 威望:0 精华:0 注册:2017/8/31 12:07:00
[求助]关于复制关联子表指定列的问题  发帖心情 Post By:2018/4/26 14:43:00 [只看该作者]

Dim Result As DialogResult
Result = MessageBox.Show("确定要【复制续签】此合同吗?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
If Result = DialogResult.Yes Then
    If Tables("主合同").Current IsNot Nothing Then
        If Tables("主合同").Current("已审核") = False Then
            MessageBox.Show("当前合同【未审核】请返回!","提示")
            Return
        End If
        Dim bh As String = Tables("主合同").Current("合同编号")
        Dim dr As DataRow = DataTables("主合同").SQLFind("合同编号 = '" & bh & "'")
        With DataTables("主合同")
            If .LoadPage < .TotalPages - 1 Then
                .LoadPage = .TotalPages - 1
                .Load()
            End If
        End With
        With Tables("主合同")
            If .Current Is Nothing OrElse .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改
                Tables("主合同").AddNew()
                .Current("签订日期") = Date.Today()
                .Current("合同种类") = dr("合同种类")
                .Current("合同期限") = dr("合同期限")
                .Current("客户名称") = dr("客户名称")
                .Current("客户名称首字母") = dr("客户名称首字母")
                Dim dStar As Date = dr("合同结束日期")
                .Current("合同开始日期") = dStar.AddDays(1)
                .Current("代账服务") = dr("代账服务")
                .Current("代税服务_国税申报") = dr("代税服务_国税申报")
                .Current("代税服务_地税申报") = dr("代税服务_地税申报")
                .Current("代税服务_fa piao开具") = dr("代税服务_fa piao开具")
                .Current("工商代理_注册登记") = dr("工商代理_注册登记")
                .Current("工商代理_变更登记") = dr("工商代理_变更登记")
                .Current("工商代理_注销登记") = dr("工商代理_注销登记")
                .Current("工商代理_年报公示") = dr("工商代理_年报公示")
                .Current("其他代理") = dr("其他代理")
                Dim d As Date = .Current("合同开始日期")
                Dim d1 As Date = Date.Today
                Dim n As Integer = d.Year
                Dim n1 As Integer = d1.Year
                If n >= n1-1 Then
                    Dim qx As Integer = Tables("主合同").Current("合同期限")
                    If qx > 0 Then
                        Dim d2 As Date = d.AddMonths(qx)
                        Dim d3 As Date = d2.AddDays(-1)
                        Tables("主合同").Current("合同结束日期") = d3
                    Else
                        MessageBox.Show("请输入合同期限!","提示")
                        e.Form.Controls("NumericComboBox1").Select()
                    End If
                Else
                    MessageBox.Show("请检查合同开始日期是否输入正确!","提示")
                    e.Form.Controls("DateTimePicker2").Select()
                End If
                Dim Result1 As DialogResult
                Result1 = MessageBox.Show("主合同已复制成功,现在要【复制合同明细】吗?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
                If Result1 = DialogResult.Yes Then
                    Dim drs As List(Of DataRow)
                    drs = dr.GetChildRows("合同附件之代理明细")
                    For Each drmx1 As DataRow In drs
                        Dim drmx2 As Row = Tables("主合同.合同附件之代理明细").AddNew()
                        drmx2("证件代管_证件名称") = drmx1("证件代管_证件名称")
                    Next
                Else
                    e.Cancel = True
                End If
            Else
                MessageBox.Show("请先保存修改或撤销修改!","提示")
            End If
        End With
    End If
Else
    e.Cancel = True
End If

 

 

老师,你好!此代码执行到“蓝字”处停止执行(Tables("主合同.合同附件之代理明细")中未增加行)。主合同能够完整复制。主合同和合同明细通过“主合同编号”建立的关联,现在需要将旧合同的明细全部复制到新合同明细中(也就是除了“主合同编号”不同外,其他相同)。自己琢磨了好久,一直没有成功,希望老师帮忙改一下,谢谢!

 

 

以下为操作窗口,代码为按钮“复制续签”代码。

 


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/4/26 14:57:11编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/26 15:23:00 [只看该作者]

报错还是怎样?报错的截图发出来看看

 

drs = dr.GetChildRows("合同附件之代理明细")

 

改成

 

drs = DataTables("合同附件之代理明细").Select("合同编号 = '" & bh & "'")

msbbox(drs.count)


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


加好友 发短信
等级:四尾狐 帖子:824 积分:7120 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)报错还是怎样?报错的截图发出来看看...  发帖心情 Post By:2018/4/26 15:29:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/26 15:34:00 [只看该作者]

红色的改成对应的列名

 

drs = DataTables("合同附件之代理明细").Select("主合同编号 = '" & dr("合同编号") & "'")

msbbox(drs.count)


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


加好友 发短信
等级:四尾狐 帖子:824 积分:7120 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)红色的改成对应的列名 drs ...  发帖心情 Post By:2018/4/26 15:42:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看

我把

msbbox(drs.count)

去掉还是不执行增加行的代码!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/26 15:48:00 [只看该作者]

drs = DataTables("合同附件之代理明细").sqlSelect("主合同编号 = '" & dr("合同编号") & "'")

msbbox(drs.count)


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


加好友 发短信
等级:四尾狐 帖子:824 积分:7120 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)drs = DataTables("合同附件之代理明...  发帖心情 Post By:2018/4/26 15:53:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看

 

合适了,原来是SQL数据源的问题,对吗?甜老师。

 

谢谢你,真的是大神啊!!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/26 15:57:00 [只看该作者]

以下是引用洮沙在2018/4/26 15:53:00的发言:


图片点击可在新窗口打开查看此主题相关图片如下:5.png

 

合适了,原来是SQL数据源的问题,对吗?甜老师。

 

谢谢你,真的是大神啊!!

 

对于没有加载出来的数据,需要后台获取 http://www.foxtable.com/webhelp/scr/2724.htm

 


 回到顶部