Foxtable(狐表)用户栏目专家坐堂 → [求助]如何从另一表中自动提取染料组合的相同代码


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

主题:[求助]如何从另一表中自动提取染料组合的相同代码

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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2020/3/3 16:42:00
[求助]如何从另一表中自动提取染料组合的相同代码  发帖心情 Post By:2020/3/4 17:19:00 [只看该作者]

各位大神:
          你们好,我刚接触FOXtable,在设计一个表的应用时,不知道如何处理“单列重复数据”方面的引用入下图所示,我需要在《配方》表中让配方表上的“染料组合编码”可以从表《染料组合清单》中自动导入,注意:《染料组合清单》中的物料编码和物料名称是可以重复出现的,但作为统一的一个染料组合时,“染料组合编码”在在组合中是唯一的。请大神们帮帮忙看看怎么解决。


此主题相关图片如下:002.jpg
按此在新窗口浏览图片


此主题相关图片如下:001.jpg
按此在新窗口浏览图片

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:at和工场颜色数据对比.table



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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/4 17:39:00 [只看该作者]

到项目命令窗口执行

For Each  r As Row In Tables("配方").Rows
    Dim dr As DataRow = DataTables("染料组合清单").Find("物料编码='" & r("物料编码") & "' And 物料名称='" & r("物料名称")  & "'")
    If dr IsNot Nothing Then
        r("染料组合编码") = dr("染料组合编码")
    End If
Next
[此贴子已经被作者于2020/3/4 17:38:54编辑过]

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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2020/3/3 16:42:00
  发帖心情 Post By:2020/3/4 17:57:00 [只看该作者]

有点蓝大神:
            你好!我试运行了,结果不正确。“物料编码”和“物料名称是唯一对应”的,但是它可以出现在不同的染料组别。你写的程序里面我看不出来有识别出来不同的“物料编码”在一起形成一个配方(即其“色号”相同),这个配方的“染料组合编码”是唯一的,但是每个“物料编码”并不没有唯一的“染料组合编码”,在《染料组合清单》中我把它们放一起,并用空白行隔开了。麻烦大神再帮手看看怎么才能解决,谢谢哈!
[此贴子已经被作者于2020/3/4 18:00:56编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2020/3/4 18:39:00 [只看该作者]

我没明白的是,不同的染料组合,染料组合编码为什么会一致,没有半点科学性,程序会越来越不好写代码!

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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2020/3/3 16:42:00
  发帖心情 Post By:2020/3/4 19:02:00 [只看该作者]

大神:
    你好!不同的染料组合它的组合代码是唯一的,但同一只染料可以使用在不同的染料组合(这个染料组合可以是1到4只染料组成)。这里就是想说的是有点蓝大神写的编码,运行后只能识别出《染料组合清单》中的最先出现的相同染料所对应的“染料组合编码”,它没有把这几只染料合一起当一个组别来识别出组合编码。
     大神可以看一下有点蓝大神的代码运行出来,在交联表中显示的”染料组合编码“是不同的编码,正常应该是同一个编码
  
图片点击可在新窗口打开查看此主题相关图片如下:04.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/3/4 19:15:34编辑过]

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/5 8:59:00 [只看该作者]

没看懂,请举例说明一下。比如1楼的项目,按什么方式取值,最终的结果是怎么样的?

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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2020/3/3 16:42:00
  发帖心情 Post By:2020/3/5 10:06:00 [只看该作者]

大神:例子如下:

例子:

1(仓存情况表)

    仓存位置       产品代码       原料名称

Z001                           原料A

Z001                           原料B 

Z001                           原料C  

Z002                           原料C

Z002                           原料E

Z003                           原料A

Z003                           原料B

Z003                           原料F

Z003                           原料G

Z009                           原料A

Z009                           原料B 

Z009                           原料C

 

2(产品合成清单表)

   产品代码       原料名称       

产品1         原料A

产品1         原料B 

产品1         原料C     

产品3         原料C

产品3         原料E

产品8         原料A

产品8         原料B

产品8         原料F

产品8         原料G

 根据表2的情况,表2的产品为几种原料的合成,每个合成产品有固定编号就是“产品1”“产品2”(即:原料A+原料B+原料C相当于产品1,这几种原料必须同时存在,否者它们中部分相加相当于产品N(N<>1)   ,现在需要把表2的信息自动带入到表1.运算结果入下面表 : 

1(仓存情况表)

    仓存位置       产品代码       原料名称

Z001            产品1         原料A

Z001            产品1         原料B 

Z001            产品1         原料C 

Z002            产品3         原料C

Z002            产品3         原料E

Z003            产品8         原料A

Z003            产品8         原料B

Z003            产品8         原料F

Z003            产品8         原料G

Z009            产品1         原料A

Z009            产品1         原料B 

Z009            产品1         原料C

[此贴子已经被作者于2020/3/5 13:31:19编辑过]

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/5 14:05:00 [只看该作者]

仓存位置       产品代码       原料名称

Z001            产品        原料A


原料A有对应产品1和产品8,怎么知道上面Z001放的是产品1而不是产品8,根据什么规则取值?


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


加好友 发短信
等级:婴狐 帖子:10 积分:121 威望:0 精华:0 注册:2020/3/3 16:42:00
  发帖心情 Post By:2020/3/5 15:07:00 [只看该作者]

有点蓝大神:
其实这个也可以这样描述:
有很多仓存位置,每个仓存位置里面的放有几种原料,每个仓存位置的原料只能合成一种固定产品。
现在手头上拿到了一份产品的原料合成清单。
要根据这个清单,找出每个仓存位置里面的原料可以合成什么产品。

产品代码       原料名称      
产品1         原料A
产品1         原料B 
产品1         原料C     

产品1相当于=原料A+原料B+原料C


仓存位置       产品代码       原料名称
Z001                               原料A
Z001                               原料B 
Z001                               原料C  

原料A+原料B+原料C和上表相加对应时必须仓存位置一致(相当于原料同一行的仓存位置编码一致),否则就不可能找对合成的产品。

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/5 16:13:00 [只看该作者]

虽然可以做,但是效率非常低,需要多次遍历和查询,纯粹是硬凑的。这种设计估计是有问题的,建议从业务逻辑上重新理一下。

 回到顶部
总数 13 1 2 下一页