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


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

主题:单价自动显示

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/19 23:39:00 [显示全部帖子]

以下是引用佛光普照在2011-3-19 20:58:00的发言:
如果这样写的可以,但出现需要输入一下才能执行,这如何解决?
 
正确的代码应该是下面的,记得需要判断列名:
 
Dim r As DataRow = e.DataRow
Dim dr1,dr2 As DataRow
Select Case e.DataCol.name
    Case "材料编码"
        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 Select
 
你提到的需要输入一下才能执行的问题,建议看看:
 
http://help.foxtable.com/topics/1469.htm


至于为什么需要判断列名,请参考:
 
http://help.foxtable.com/topics/1522.htm
 
[此贴子已经被作者于2011-3-19 23:51:13编辑过]

 回到顶部