Foxtable(狐表)用户栏目专家坐堂 → 软件更新后的问题


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

主题:软件更新后的问题

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


加好友 发短信
等级:童狐 帖子:253 积分:2341 威望:0 精华:0 注册:2011/8/8 0:50:00
软件更新后的问题  发帖心情 Post By:2019/9/18 19:31:00 [只看该作者]

这个错误提示是在2019-09-08更新软件后开始出现,一直到2019-09-19的更新,同样的代码在2019-09-08前是没问题的,出现错误后,我重新把软件删除再安装2019-09-08前的更新又恢复正常(注意在代码都不变的情况下)
Dim zck As Table = Tables("产品库存查询窗口_子窗口")
Dim hjje As WinForm.TextBox = e.Form.Controls("合计米数")
Dim jb1 As New SQLJoinTableBuilder("产品库存查询","库存表")
jb1.ConnectionName = Vars("sjy")
jb1.AddTable("库存表","产品编号","产品信息表","产品编号",JoinModeEnum.Left)
jb1.AddCols("{库存表}.产品编号","产品名称","颜色","底布","库存米数","未过账米数","仓库编号","销售米数","采购米数","单位","处理","扎账时间","产品分类")
jb1.Filter = "{库存表}.产品编号 like null" 
jb1.Build()
Tables("产品库存查询窗口_子窗口").DataSource = DataTables("产品库存查询")
打开后没问题

打开后,有个查询按钮点击后,出现临时表加载问题(见粗体文字出现问题)
    窗体加载的代码
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20190918192639.png
图片点击可在新窗口打开查看
    Dim jb1 As New SQLCrossTableBuilder("产品库存查询","库存表")
    jb1.ConnectionName = Vars("sjy")
    jb1.AddTable("库存表","产品编号","产品信息表","产品编号",JoinModeEnum.Left)
    jb1.AddTable("产品信息表","供货商编号","供货商信息表","供货商编号",JoinModeEnum.Left)
    jb1.AddTable("库存表","仓库编号","仓库信息表","仓库编号",JoinModeEnum.Left)
    jb1.HGroups.AddDef("{供货商信息表}.公司名称","供货商名称")
    jb1.HGroups.AddDef("{库存表}.产品编号")
    jb1.HGroups.AddDef("{产品信息表}.产品名称")
    jb1.HGroups.AddDef("{产品信息表}.颜色")
    jb1.HGroups.AddDef("{产品信息表}.单位")
    jb1.HGroups.AddDef("{产品信息表}.底布")
    jb1.HGroups.AddDef("{产品信息表}.产品分类")
    If cl.Checked = True Then
        jb1.HGroups.AddDef("{产品信息表}.处理")
    ElseIf cl.Checked = False Then
    End If
    jb1.VGroups.AddDef("{库存表}.仓库编号","{0}")
    jb1.VGroups.AddDef("{仓库信息表}.地址")
    jb1.Totals.AddDef("库存米数") '添加数量列用于统计
    jb1.Totals.AddDef("未过账米数") '添加数量列用于统计
    If lskf.Checked = True Then
        If XSC.Checked = True Then
            jb1.Totals.AddDef("采购米数") '添加数量列用于统计
            jb1.Totals.AddDef("销售米数") '添加数量列用于统计
            jb1.Filter = "({库存表}.产品编号 like '%" & nr.Value & "%' Or 产品名称 like '%" & nr.Value & "%' or 颜色 Like '%" & nr.Value & "%' or 公司名称 Like '%" & nr.Value & "%' or 底布 Like '%" & nr.Value & "%'or 产品分类 Like '%" & nr.Value & "%') And (库存米数 <> 0 Or 未过账米数 <> 0 or 销售米数 <> 0 or 采购米数 <>0)"
        ElseIf XSC.Checked = False Then
            jb1.Filter = "({库存表}.产品编号 like '%" & nr.Value & "%' Or 产品名称 like '%" & nr.Value & "%' or 颜色 Like '%" & nr.Value & "%' or 公司名称 Like '%" & nr.Value & "%' or 底布 Like '%" & nr.Value & "%'or 产品分类 Like '%" & nr.Value & "%') And (库存米数 <> 0 Or 未过账米数 <> 0)"
        End If
    Else
        If XSC.Checked = True Then
            jb1.Totals.AddDef("采购米数") '添加数量列用于统计
            jb1.Totals.AddDef("销售米数") '添加数量列用于统计
            jb1.Filter = "({库存表}.产品编号 like '%" & nr.Value & "%' Or 产品名称 like '%" & nr.Value & "%' or 颜色 Like '%" & nr.Value & "%' or 公司名称 Like '%" & nr.Value & "%' or 底布 Like '%" & nr.Value & "%'or 产品分类 Like '%" & nr.Value & "%') And (库存米数 <> 0 Or 未过账米数 <> 0 or 销售米数 <> 0 or 采购米数 <> 0) and ({库存表}.仓库编号 not like '0001' and {库存表}.仓库编号 not like '0002')"
        ElseIf XSC.Checked = False Then
            jb1.Filter = "({库存表}.产品编号 like '%" & nr.Value & "%' Or 产品名称 like '%" & nr.Value & "%' or 颜色 Like '%" & nr.Value & "%' or 公司名称 Like '%" & nr.Value & "%' or 底布 Like '%" & nr.Value & "%'or 产品分类 Like '%" & nr.Value & "%') And (库存米数 <> 0 Or 未过账米数 <> 0) and ({库存表}.仓库编号 not like '0001' and {库存表}.仓库编号 not like '0002')"
        End If
    End If
    jb1.HorizontalTotal = True
    jb1.VerticalTotal = True
    jb1.Build
End If
Tables("产品库存查询窗口_子窗口").DataSource = DataTables("产品库存查询")
但是查询的结果hi没有问题的,

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


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2019/9/18 20:58:00 [只看该作者]

Dim jb1 As New SQLCrossTableBuilder("产品库存查询","库存表")
    jb1.ConnectionName = Vars("sjy")
    jb1.AddTable("库存表","产品编号","产品信息表","产品编号",JoinModeEnum.Left)
    jb1.AddTable("产品信息表","供货商编号","供货商信息表","供货商编号",JoinModeEnum.Left)
    jb1.AddTable("库存表","仓库编号","仓库信息表","仓库编号",JoinModeEnum.Left)
    jb1.HGroups.AddDef("{供货商信息表}.公司名称","供货商名称")
    jb1.HGroups.AddDef("{库存表}.产品编号")
    jb1.HGroups.AddDef("{产品信息表}.产品名称")
    jb1.HGroups.AddDef("{产品信息表}.颜色")
    jb1.HGroups.AddDef("{产品信息表}.单位")
    jb1.HGroups.AddDef("{产品信息表}.底布")
    jb1.HGroups.AddDef("{产品信息表}.产品分类")
    If cl.Checked = True Then
        jb1.HGroups.AddDef("{产品信息表}.处理")
    ElseIf cl.Checked = False Then
    End If
    jb1.VGroups.AddDef("{库存表}.仓库编号","{0}")
    jb1.VGroups.AddDef("{仓库信息表}.地址")
    jb1.Totals.AddDef("库存米数") '添加数量列用于统计
    jb1.Totals.AddDef("未过账米数") '添加数量列用于统计
    If lskf.Checked = True Then
        If XSC.Checked = True Then
            jb1.Totals.AddDef("采购米数") '添加数量列用于统计
            jb1.Totals.AddDef("销售米数") '添加数量列用于统计
            jb1.Filter = "({库存表}.产品编号 like '%" & nr.Value & "%' Or 产品名称 like '%" & nr.Value & "%' or 颜色 Like '%" & nr.Value & "%' or 公司名称 Like '%" & nr.Value & "%' or 底布 Like '%" & nr.Value & "%'or 产品分类 Like '%" & nr.Value & "%') And (库存米数 <> 0 Or 未过账米数 <> 0 or 销售米数 <> 0 or 采购米数 <>0)"
        ElseIf XSC.Checked = False Then
            jb1.Filter = "({库存表}.产品编号 like '%" & nr.Value & "%' Or 产品名称 like '%" & nr.Value & "%' or 颜色 Like '%" & nr.Value & "%' or 公司名称 Like '%" & nr.Value & "%' or 底布 Like '%" & nr.Value & "%'or 产品分类 Like '%" & nr.Value & "%') And (库存米数 <> 0 Or 未过账米数 <> 0)"
        End If
    Else
        If XSC.Checked = True Then
            jb1.Totals.AddDef("采购米数") '添加数量列用于统计
            jb1.Totals.AddDef("销售米数") '添加数量列用于统计
            jb1.Filter = "({库存表}.产品编号 like '%" & nr.Value & "%' Or 产品名称 like '%" & nr.Value & "%' or 颜色 Like '%" & nr.Value & "%' or 公司名称 Like '%" & nr.Value & "%' or 底布 Like '%" & nr.Value & "%'or 产品分类 Like '%" & nr.Value & "%') And (库存米数 <> 0 Or 未过账米数 <> 0 or 销售米数 <> 0 or 采购米数 <> 0) and ({库存表}.仓库编号 not like '0001' and {库存表}.仓库编号 not like '0002')"
        ElseIf XSC.Checked = False Then
            jb1.Filter = "({库存表}.产品编号 like '%" & nr.Value & "%' Or 产品名称 like '%" & nr.Value & "%' or 颜色 Like '%" & nr.Value & "%' or 公司名称 Like '%" & nr.Value & "%' or 底布 Like '%" & nr.Value & "%'or 产品分类 Like '%" & nr.Value & "%') And (库存米数 <> 0 Or 未过账米数 <> 0) and ({库存表}.仓库编号 not like '0001' and {库存表}.仓库编号 not like '0002')"
        End If
    End If
    jb1.HorizontalTotal = True
    jb1.VerticalTotal = True
    Tables("产品库存查询窗口_子窗口").DataSource = jb1.BuildDataSource()
End If


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


加好友 发短信
等级:童狐 帖子:253 积分:2341 威望:0 精华:0 注册:2011/8/8 0:50:00
  发帖心情 Post By:2019/9/18 23:13:00 [只看该作者]

我想问的是,为什么软件升级后的代码形式要改变,没升级前都没问题啊,现在要改的话,改的地方太多了,非常麻烦
jb1.Build这个能用了吗,但是第一次出现是可以生成临时表的,再次覆盖同一个临时表就出现问题,原先是没有这现象的


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2019/9/19 8:41:00 [只看该作者]

1、你以前的用法不规范,要在窗口显示统计结果,就用BuildDataSource,要在主界面显示,就用Build,帮助文件就是这么介绍的。
2、以前不出问题,是因为Foxtable自己的内存管理有问题,被卸载的表还存在于内存中。
3、为兼顾以前不规范的用法,你可以下载2019.09.20,对这个问题进行了特殊处理,不会出现错误提示了。


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


加好友 发短信
等级:童狐 帖子:253 积分:2341 威望:0 精华:0 注册:2011/8/8 0:50:00
  发帖心情 Post By:2019/9/19 8:48:00 [只看该作者]

好的,谢谢

 回到顶部