Foxtable(狐表)用户栏目专家坐堂 → [求助]关于加载的问题


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

主题:[求助]关于加载的问题

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


加好友 发短信
等级:六尾狐 帖子:1288 积分:10384 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]关于加载的问题  发帖心情 Post By:2020/7/24 21:32:00 [只看该作者]

表A为主表,表B由于数据量较大,为分页加载的表
设置 加载表A时,会把表B相关的项也加载出来。
由于表B 是分页的,所以选择表A的某一行的时候,表B加载不全。这种情况应该怎么处理比较好呢。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


[此贴子已经被作者于2020/7/24 21:33:18编辑过]

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


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/25 9:46:00 [只看该作者]

这种情况不能使用筛选,只能使用加载

Dim str As String
Dim ids As String
If Forms("模拟关联表").Opened Then
    For i As Integer = e.NewRange.TopRow To e.NewRange.BottomRow
        str = str & ",'" & e.Table.Rows(i)("第一列") & "'"
        
    Next
    'StatusBar.Message2 = (str)
    Tables("模拟关联表_Table1").DataTable.LoadFilter = " 第一列 in (" & str.Trim(",") &")"
    Tables("模拟关联表_Table1").DataTable.Load
End If

如果不想影响主表已加载的数据,就把窗口表改为sqltable使用

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


加好友 发短信
等级:六尾狐 帖子:1288 积分:10384 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/7/26 9:07:00 [只看该作者]

是不是还需要加个分页条件?
DataTables("表B").Loadtop = 
DataTables("表B").LoadPage = 

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


加好友 发短信
等级:六尾狐 帖子:1266 积分:7849 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2020/7/26 9:18:00 [只看该作者]

强烈建议把去掉表达式,把数据直接冗余在另外一个表,不相互依赖加载。这样就免去动态加载很多麻烦的事情。

一般我们都喜欢解耦,各自干各自,维护简单,代码简单。你现在只有AB2个表,等你表有几十个后,相互依赖动态加载,会引发一系列的数据空白,你要考虑非常多非常多的连锁依赖,很痛苦的

不如:“用空间换时间”,牺牲掉不值钱的硬盘空间,换回动态加载的消耗时间

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


加好友 发短信
等级:六尾狐 帖子:1288 积分:10384 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/7/26 15:33:00 [只看该作者]

以下是引用chen37280600在2020/7/26 9:18:00的发言:
强烈建议把去掉表达式,把数据直接冗余在另外一个表,不相互依赖加载。这样就免去动态加载很多麻烦的事情。

一般我们都喜欢解耦,各自干各自,维护简单,代码简单。你现在只有AB2个表,等你表有几十个后,相互依赖动态加载,会引发一系列的数据空白,你要考虑非常多非常多的连锁依赖,很痛苦的

不如:“用空间换时间”,牺牲掉不值钱的硬盘空间,换回动态加载的消耗时间

请问下这个如何 冗余 到另外一个表呀。有相关的例子可以学习吗?对这个还不了解。

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


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/26 20:35:00 [只看该作者]

这是一个有点玄的概念,很难一两句话表达清楚,如果对数据库没有什么概念的,还是先按照自己的想法先用吧,等经验累积到一定程度就明白了

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


加好友 发短信
等级:六尾狐 帖子:1266 积分:7849 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2020/7/27 9:29:00 [只看该作者]

冗余这个词就专业点,简单说吧

有一个商品档案表,记录了 1:富士苹果。 2:水晶苹果

1没有冗余:入库单,记录商品ID1入库了5个,商品ID2入库了 8个。但是只看ID,我没办法知道这是什么商品啊,于是我们利用了狐表的“表达式”,通过关联商品ID,知道入库了5个富士苹果,8个水晶苹果。

2发现问题:看起来没啥问题。但是例如我要搜索包含“苹果”字眼的商品的入库记录。这时候就麻烦了,要先去搜商品档案,找到包含的ID,再去搜入库单。如果关联更多,连锁查询就更多

3使用冗余后:入库单,记录商品ID+商品名字(浪费了硬盘空间,多余记录了这个字段)。这样我就避开了表达式,也不用考虑关联加载,也不担心空白。如果我要搜“苹果”字眼的,我直接like '%苹果%'就完事。多轻松
[此贴子已经被作者于2020/7/27 9:33:01编辑过]

 回到顶部