以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]关于调用档案表名称的做法!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=56147)

--  作者:lhpc120
--  发布时间:2014/8/30 14:44:00
--  [讨论]关于调用档案表名称的做法!

现在有个例子!

 

订单明细中只有产品编号列,且只能有这列不能有产品名称的列!

 

利实现在打开这个表的时候,订单明细中,产品编号列的值就是来自产品档案的产品编号,而显示的是产品档案的产品名称的值!

 

备注:想过的方案。隐藏产品编号列,增加一个临时列产品名称,遍历订单明细表把相应的值调用过来!

 

但是如果一个订单量特别大的时候这样会不会效率很低,或影响带宽。

 

 

现在请高手讨论有没有更好的解决方案!!

 

 

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


--  作者:lhpc120
--  发布时间:2014/8/30 14:46:00
--  
如果是用C#开发,可以采用数据库索引处理这个问题,那在狐表行得通的吗?
--  作者:Bin
--  发布时间:2014/8/30 14:55:00
--  
1.用查询表
2.用FIND找到对应的数据填充
3.设为父表,直接表达式引用

无须遍历,不存在效率底下

--  作者:lhpc120
--  发布时间:2014/8/30 15:09:00
--  

请问,能不能在我上传的例子做出一个效果,让我们这些新人学习呢?因为ID的关联使用太频繁,我们这些新人不能充分运用,而且,狐表的使用者大部分对查询表和存储过程并不是很了解!!

 

 

所以希望BIN大神利用上面的例子给大家做一个!谢谢~~~~3Q


--  作者:狐狸爸爸
--  发布时间:2014/8/30 15:18:00
--  

没有必要用一列的,分成两列,一个编号,一个名称,简单方便,你可以用两个方式显示名称:

 

1、订单明细表增加一个产品名称列,两个表建立关联,用表达式引用父表数据即可:

http://www.foxtable.com/help/topics/0106.htm

 

2、不用表达式的话,就用代码:

http://www.foxtable.com/help/topics/1451.htm

 

二者都不存在效率问题。


--  作者:lhpc120
--  发布时间:2014/8/30 15:20:00
--  

Select  订单编号,产品名称,产品单价,产品数量,金额 From {产品档案} Inner JOIN {产品订单明细} ON {产品订单明细}.[产品编号] = {产品档案}.[产品编号]

 

应该是这个意思了?


--  作者:lhpc120
--  发布时间:2014/8/30 15:22:00
--  
狐爸的意思那时常规的,如果涉及到大量的调用表,比如有1000个订单表的话,我修改了物资档案的信息,那更改起来是多么大头疼!
--  作者:狐狸爸爸
--  发布时间:2014/8/30 15:24:00
--  

怎么会有1000个订单表呢? 如果真的有话,你的系统设计大大的有问题。

订单表通常就只有一个。


--  作者:lhpc120
--  发布时间:2014/8/30 15:28:00
--  
以下是引用狐狸爸爸在2014-8-30 15:24:00的发言:

怎么会有1000个订单表呢? 如果真的有话,你的系统设计大大的有问题。

订单表通常就只有一个。

比如我有产品出库表、入库表、销售表、赠送表等等表,都会调用产品档案的ID和名称~!如果我修改了产品档案的某个名称,相关的表都要改,后期的维护很麻烦!


--  作者:狐狸爸爸
--  发布时间:2014/8/30 15:31:00
--  

是我理解错误,还是你没有理解关联和表达式的用法?

根本不需要修改,当子表用表达式引用数据时,在父表修改你某个产品名称,子表就会自动显示最新的名称,无需再修改子表数据。

建议你看一下关联和表达式相关章节,实际测试一下。