Foxtable(狐表)用户栏目专家坐堂 → 单价自动显示


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

主题:单价自动显示

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


加好友 发短信
等级:婴狐 帖子:14 积分:158 威望:0 精华:0 注册:2011/3/10 11:50:00
单价自动显示  发帖心情 Post By:2011/3/18 20:53:00 [只看该作者]

各位帮一下忙,材料基础表和入库表中的单价,自动在库存表中进行显示出来,要求入库单没有的单价,自动从基础表读入,对于入库表的单价的日期超过材料基础表的日期,自动从入库表中读入单价,表达式如何写
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


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


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
  发帖心情 Post By:2011/3/18 21:38:00 [只看该作者]

搞的这么复杂根本不合理,

获取信息的来源最好采用唯一制度,其他地方需要调用与修改都方便很多,也容易扩展。代码也简单很多


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/3/18 22:33:00 [只看该作者]

表达式只能在表达式列中来写,你又没有表达式列,怎么写呢? 

 

用代码这样看看:

Dim r As Row = Tables("库存表").current  ' rows(Tables("库存表").position)
Dim dr,dr1 As DataRow
dr = DataTables("基础材料").Find("材料编码 = '" & r("材料编码") & "'")
dr1 = DataTables("入库单").Find("材料编码 = '" & r("材料编码") & "'")
If dr1 IsNot Nothing And dr IsNot Nothing Then
    If dr1("日期") > dr("日期")
        r("单价") = dr1("单价")
    Else
        r("单价") = dr("单价")
    End If
Else
    If dr IsNot Nothing Then
        r("单价") = dr("单价")
    End If
End If


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


加好友 发短信
等级:婴狐 帖子:14 积分:158 威望:0 精华:0 注册:2011/3/10 11:50:00
  发帖心情 Post By:2011/3/19 8:37:00 [只看该作者]

非常感谢


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/19 9:28:00 [只看该作者]

我在mr725兄的基础上改一下,设置库存表的DAtaColChanged事件:

 

Dim r As DataRow = e.DataRow
Dim dr1,dr2 As DataRow
dr1 = DataTables("基础材料").Find("材料编码 = '" & r("材料编码") & "'")
dr2 = DataTables("入库单").Find("材料编码 = '" & r("材料编码") & "'")
If dr1 IsNot Nothing AndAlso dr2 IsNot Nothing Then
    If dr2("日期") > dr1("日期")
        r("单价") = dr2("单价")
    Else
        r("单价") = dr1("单价")
    End If
ElseIf dr1 IsNot Nothing Then
        r("单价") = dr1("单价")
    End If
End If


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


加好友 发短信
等级:婴狐 帖子:14 积分:158 威望:0 精华:0 注册:2011/3/10 11:50:00
  发帖心情 Post By:2011/3/19 12:09:00 [只看该作者]

又出现一个问题,假设入库单的价格有两个,要显示最近入库的单价,在库存表中自动显示,该如何解决

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


加好友 发短信
等级:婴狐 帖子:14 积分:158 威望:0 精华:0 注册:2011/3/10 11:50:00
  发帖心情 Post By:2011/3/19 12:18:00 [只看该作者]

入库单价格随市场一直在变,那该如何解决,请各位帮忙


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/19 12:34:00 [只看该作者]

好办,建议你参考一下下面的帮助,里面有说明如何找出最近一条记录:

http://help.foxtable.com/topics/0396.htm

尝试自己修改一下我给你的代码,如果搞不定,再发帖提问,我帮你写一下。


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


加好友 发短信
等级:婴狐 帖子:14 积分:158 威望:0 精华:0 注册:2011/3/10 11:50:00
  发帖心情 Post By:2011/3/19 19:38:00 [只看该作者]

搞不定,请师傅帮我写一下

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


加好友 发短信
等级:婴狐 帖子:14 积分:158 威望:0 精华:0 注册:2011/3/10 11:50:00
  发帖心情 Post By:2011/3/19 20:58:00 [只看该作者]

Dim r As DataRow = e.DataRow
Dim dr1,dr2 As DataRow
dr1 = DataTables("基础材料").Find("材料编码 = '" & r("材料编码") & "'")
dr2 = DataTables("入库单").Find("材料编码 = '" & r("材料编码") & "'","日期 Desc")
If dr1 IsNot Nothing AndAlso dr2 IsNot Nothing Then
    If dr2("日期") > dr1("日期")
        r("单价") = dr2("单价")
    Else
        r("单价") = dr1("单价")
    End If
ElseIf dr1 IsNot Nothing Then
        r("单价") = dr1("单价")
    End If

如果这样写的可以,但出现需要输入一下才能执行,这如何解决?


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