Foxtable(狐表)用户栏目专家坐堂 → 关于阶段价格更新时,如何写代码实现


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

主题:关于阶段价格更新时,如何写代码实现

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


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

呵呵,请好好学习一下:

 

Select Case  e.DataCol.Name
    Case "日期","产品"
        If e.DataRow.IsNull("日期") OrElse e.DataRow.IsNull("产品") Then
            e.DataRow("单价") = Nothing
        Else
            Dim d1 As Date = e.DataRow("日期")
            Dim d2 As Date
            Dim Filter As String
            Dim dr As DataRow
            d1 = New Date(d1.Year,d1.Month,1) '取得该月的第一天
            d2 = New Date(d1.Year,d1.Month,Date.DaysInMonth(d1.Year,d1.Month)) '取得该月的最后一天
            Filter = "日期 >= #" & d1  & "# And 日期 <=#" & d2 & "#" '定义查找条件
            dr = DataTables("报价库").Find(Filter, "日期 desc") '找出该月最近一次报价,注意排序参数
            If dr IsNot Nothing  '如果有
                e.DataRow("单价") = dr("单价")
            End If
        End If
End Select


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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题例子.rar


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


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

我在销售记录的DataColChanged事件设置了代码的,你看看有的单价已经出来了的。


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


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

7、9、13行不是有单价吗?

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


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


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

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/20 7:18:00 [显示全部帖子]

我直接打开楼主12流的文件,里头明明就有单价的,和我11楼的贴图一样。

真是诡异,难道楼主打开的不是这个文件?


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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/20 7:45:00 [显示全部帖子]

以下是引用dearleung在2011-4-20 7:41:00的发言:

我重下12楼文件,打开后弹出窗口(见图),然后重修正连接。。。。打开后也是看不到数据。。。六哥,我做错了那步骤?!晕死了。。


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

 

这是因为我重新设置了数据源文件的位置,你用开发者登录,重新设置一下数据源即可,注意进入的时候,设置一下以便进入系统,进入系统后,在外部数据源设置一次,这样就OK了。


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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/20 8:44:00 [显示全部帖子]

1、设置好代码,要重置产品或者日期列,原有记录才会显示单价。

2、单价不对,是因为代码中漏掉了产品的条件,你加上即可:

 

Select Case  e.DataCol.Name
    Case "日期","产品"
        If e.DataRow.IsNull("日期") OrElse e.DataRow.IsNull("产品") Then
            e.DataRow("单价") = Nothing
        Else
            Dim d1 As Date = e.DataRow("日期")
            Dim d2 As Date
            Dim Filter As String
            Dim dr As DataRow
            d1 = New Date(d1.Year,d1.Month,1) '取得该月的第一天
            d2 = New Date(d1.Year,d1.Month,Date.DaysInMonth(d1.Year,d1.Month)) '取得该月的最后一天
            Filter = "产品 = '" & e.DataRow("产品") & "' And 日期 >= #" & d1  & "# And 日期 <=#" & d2 & "#" '定义查找条件
            dr = DataTables("报价库").Find(Filter, "日期 desc") '找出该月最近一次报价,注意排序参数
            If dr IsNot Nothing  '如果有
                e.DataRow("单价") = dr("单价")
            End If
        End If
End Select

 

请仔细体会一下这段代码,这段代码的关键:一是取得每月的第一天和最后一天,二是找出指定条件和顺序的第一条记录。

[此贴子已经被作者于2011-4-20 8:46:10编辑过]

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


加好友 发短信
等级:管理员 帖子:47511 积分:251479 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/20 10:36:00 [显示全部帖子]


 回到顶部