Foxtable(狐表)用户栏目专家坐堂 → 如何引用基础表产品编码中的相关信息


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

主题:如何引用基础表产品编码中的相关信息

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17570 威望:0 精华:0 注册:2014/7/29 19:09:00
如何引用基础表产品编码中的相关信息  发帖心情 Post By:2017/1/10 19:08:00 [显示全部帖子]

产品编码表中有产品编码,品名,规格,颜色等字段,项目中大多数表都会用到产品编码字段,其他品名,规格则是根据产品编码来提取显示,为了不重复要如何调用这些数据呢?
1、在每个表中都增加品名,规格,颜色等数据列,当录入数据时写代码根据产品编码来自动填充,
这种方法的不好是增加字段列及容量,如果产品编码表中相关的品名变更了必须要写代码来更新所有表中对应值;

2、最想要的方式就是各数据表中仅设置产品编码一个字段,当在打开各个窗口时直接从本表及产品编码联合起来调用。但问题是不知道两个表以上的窗口sqltable如何加载表结构及数据?
我的项目全部是用窗口SQLTABLE的方式fill表结构然后用sqlload加载数据的,比如加载订单表及产品编码表中的品名,规格等想如下:
加载表结构:Tables("订单_主表").Fill("s elect *,品名,规格 as RowNum from  订单 a innere join 产品编码 z on a.产品编码 = z.产品编码 where a.[_Identify] = 0",Mydata,False)
加载数据也类似,用sql语句及RowNum分页 ,最后类似 DataTables("订单_主表").SQLLoad(sql)这样来加载数据。
这种方式可行吗?如果可行窗口表保存时修改的字段会自动保存到对应的数据表中吗?因为有订单表及产品编码两个表不出错吧?

如果上面方式不行,是否在sql数据库的先用视图将订单表及产品编码做个查询,然后再用类似

Tables("订单_主表").Fill("S elect * From {查询表} Where 产品名称 = 'AAA'","nwnd",false)  

同样的问题窗口表保存时会正确保存数据吗?


还是说有其他更好的办法?

谢谢!




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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17570 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2017/1/10 21:32:00 [显示全部帖子]

谢谢!
1、作用表达式列每个窗口的sqltable都要通过代码去增表达式列也很繁琐
2、sqltable如何设置事表?
3、显示和录入分开在两个表中显示,这样打印时调用也很繁琐

有没有简单的办法呢

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17570 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2017/3/1 11:20:00 [显示全部帖子]

现在想通过设置关联列的方式来用表达式列来引用产品编码表中的列,fill的sqltable因为没有加载表结构,要如何设置关联

Relations.Add("关联1",DataTables("产品").DataCols("产品编号"),DataTables("订单").DataCols("产品编号"))

这种只能用于表已经加载的情况。


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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17570 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2017/3/3 11:45:00 [显示全部帖子]

这种方式可以实现。但还有一个问题,现在所有相关表单都通过产品编码与产品编码表中的产品编码对应了,
如果产品编码表中的产品编码更改,势必要同步所有表中的产品编码,我知道的可以在数据库中通过关系图设定他们之间的一对多关系,修改删除都可以同步控制,如果不用关系图还有什么办法,但如果表中有引用的产品编码禁止删除又要怎么办?是用触发器来遍历更改吗?
谢谢!

 回到顶部