以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  通用字段引用表加载的方式请教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169452)

--  作者:HappyFt
--  发布时间:2021/6/17 11:50:00
--  通用字段引用表加载的方式请教
每个窗口都有录入时间,录入人,录入部门,修改日期,修改人,是否完成,是否锁定这些字段,原来的设计是在每个数据表中都增加了这些字段,感觉很重复,
现在设计了一个总表根据每个表的名称及记录上面这些字段的信息

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

但加载数据时就出现了一个问题就是每个窗口主表在打开加载数据时只用能这样的代码加载数据(数据需要修改保存)
Tables("订单_主表").Fill ("slect *,0 as RowNum,(Slect top 1 FillDate from tbOperR ecord where DataID = a.ID And MtbName = \'订单\') as 录入日期  from 订单 a where a.[_Identify] = 0",Mydat a,Fals e)
因为有7个基本字段,弄得sql语句很长,如果改用select a.*,b.Filldate from 订单 a left join tbOperRecord b on b.DataID = a.ID And MtbName = \'订单\' 这样的形式会提示 -->对于多个基表不支持动态 SQ L 生成

我的问题是:
1 这种设计是否比原来每个表单独增加7个字段数据库的容量要小,更好?
2 使用top 1 的方式加载这7个字段的值速度效率是否更低?
还有没有其他更好的方式? 
谢谢!



--  作者:有点蓝
--  发布时间:2021/6/17 11:59:00
--  
按T计算硬盘容量的年代,容量根本不值钱,不值得为这么一点容量增加代码、统计的复杂度。容量低那么一点点,却大大减低了效率和方便性,完全得不偿失。
--  作者:HappyFt
--  发布时间:2021/6/17 14:34:00
--  
谢谢,了解,但请问下fill时要引用其他表的字段信息除了用select top 1的方式还有没有其他方法(基表的数据要允许修改及保存,不能用查询表)?
--  作者:有点蓝
--  发布时间:2021/6/17 14:37:00
--  
只能这样