以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [讨论]关于调用档案表名称的做法! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56147) |
||||
-- 作者:lhpc120 -- 发布时间:2014/8/30 14:44:00 -- [讨论]关于调用档案表名称的做法! 现在有个例子!
订单明细中只有产品编号列,且只能有这列不能有产品名称的列!
利实现在打开这个表的时候,订单明细中,产品编号列的值就是来自产品档案的产品编号,而显示的是产品档案的产品名称的值!
备注:想过的方案。隐藏产品编号列,增加一个临时列产品名称,遍历订单明细表把相应的值调用过来!
但是如果一个订单量特别大的时候这样会不会效率很低,或影响带宽。
现在请高手讨论有没有更好的解决方案!!
|
||||
-- 作者: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 -- 是我理解错误,还是你没有理解关联和表达式的用法? 根本不需要修改,当子表用表达式引用数据时,在父表修改你某个产品名称,子表就会自动显示最新的名称,无需再修改子表数据。 建议你看一下关联和表达式相关章节,实际测试一下。 |