Foxtable(狐表)用户栏目专家坐堂 → 关联表 中的数据整理


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

主题:关联表 中的数据整理

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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
关联表 中的数据整理  发帖心情 Post By:2012/8/30 21:12:00 [显示全部帖子]

我在设计一个关联表数据整理的过程中遇到一个问题。

 

请见下图:

 


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

我希望可以将子表中整理出来的询价数据按以下方式体现在父表“产品”

1.)按最近一次的询价结果(将询价时间|询价工厂|询价价格)体现在父表对应列中;

2.)或者,按最优价格体现。

 

我尝试用

1.)聚合函数MAX 来找出最近时间(但是询价时间列不可以是数值属性)

2.)或者就是用datacolchange 代码输入,但是我代码编了几次编不下去。

 

请教该怎么处理?

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


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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
  发帖心情 Post By:2012/8/31 7:26:00 [显示全部帖子]

谢谢CZY 代码。

If e.DataCol.name = "货号" Then
    If e.DataRow.IsNull("货号") = False Then
        Dim dr As DataRow = DataTables("询价").Find("货号 = '" & e.DataRow("货号") & "'","询价日期 Desc")
        If dr IsNot Nothing Then
            e.DataRow("询价工厂") = dr("询价工厂")
            e.DataRow("询价价格") = dr("询价价格")
            e.DataRow("询价时间") = dr("询价日期")
        Else
            e.DataRow("询价工厂") = Nothing
            e.DataRow("询价价格") = Nothing
            e.DataRow("询价时间") = Nothing
        End If
    End If
End If

 

但是“产品”表格上,询价时间列是空的,可否指导如何让询价时间列也被填充呢。


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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
  发帖心情 Post By:2012/8/31 18:46:00 [显示全部帖子]

我明白了,我重新输入一下,发现日期数据了。


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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
  发帖心情 Post By:2012/9/1 8:33:00 [显示全部帖子]

狐爸,还有一个问题,实际使用中,也许我会先输入“货号”之类的数据, 这样一来,

 

1.) 后面询价和订单整理后的数据就没有办法”自动“填充到产品表格对应位置中。

2.) 如果询价 和 订单中的内容更改后,更改后的数据也没有办法 ”自动“更新到产品表格对应位置中。

 

 

解决这个办法只有一个: 就是把这一行的内容全部清空,重新输入货号,才可以得到更新后的数值。

 

但这么做,在实际使用时会带来错误的结果,毕竟实际使用中不可以全部清空再填货号的。

 

我还没有设计到窗口的地步,想问是否有”刷新“,代码是 e.form.refresh() 是否对?可以解决以上问题吗?


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

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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
  发帖心情 Post By:2012/9/1 15:32:00 [显示全部帖子]

这几章看过了,看来我还需要再多看几遍。

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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
关联表 中的数据整理  发帖心情 Post By:2012/9/1 16:39:00 [显示全部帖子]

狐爸,对不起,我已经认真看了你推荐的2篇,还是不能解决我的问题。

 

我的问题是:

1.) ”询价" "订单" 表中的任何变动,都可以自动体现在"产品" 表的指定位置里;

    (这个自动的意思是:产品表中不需要再重新输入货号,即使原来有的记录也可以随着另外两个表的更改而自动更改)

2.) 我现在自己编的代码是:

     Select Case e.DataCol.Name
    Case "询价工厂""询价价格""询价时间"
        Dim Filter As String = "[货号] = '" & e.DataRow("货号") & "'询价日期 DESC"
        Dim drs As List(Of DataRow) = DataTables("询价").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
    Case "订单日期""订单数量""订单单价""订单生产工厂"
        Dim Filter As String = "[货号] = '" & e.DataRow("货号") & "'订单日期 DESC"
        Dim drs As List(Of DataRow) = DataTables("订单").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
End Select

    这个代码没有任何作用,请问错在哪里?

 

谢谢指教。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:120901 test.table

[此贴子已经被作者于2012-9-1 16:39:48编辑过]

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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
  发帖心情 Post By:2012/9/1 18:15:00 [显示全部帖子]

聪明,我没有想到这一点。

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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
  发帖心情 Post By:2012/9/1 18:50:00 [显示全部帖子]

狐爸,我刚刚发现, 我要的是结果:

 

我要的是每个货号的对应一个结果: 或者是最近的询价,或者是最低的询价价格。

 

而现在的结果是每个货号对应多个结果。

 

请帮忙看一下呢。

 

 


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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
  发帖心情 Post By:2012/9/2 16:00:00 [显示全部帖子]

见谅,哪位高手可以帮忙解决一下我的提问呢。


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


加好友 发短信
等级:婴狐 帖子:56 积分:515 威望:0 精华:0 注册:2012/8/17 15:48:00
  发帖心情 Post By:2012/9/4 10:03:00 [显示全部帖子]

我想做的是一个询价的历史记录;

 

比方说: “询价”表中有以下可能性

 

             2012-01-01 :  ABC 工厂  报价:15

             2012-02-01     ABC                  14.5

             2012-02-01      DEF 工厂           13

 

             也就是说: 存在同一个工厂在不同时间的报价,+ 多个工厂同一时间的报价。

 

             但是在“产品”表中只体现:最近时间的报价   或者 是最低的报价。

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


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