Foxtable(狐表)用户栏目专家坐堂 → 报价单管理求助


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

主题:报价单管理求助

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
报价单管理求助  发帖心情 Post By:2011/1/4 21:34:00 [显示全部帖子]

需求在[报价]表窗口

 

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


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/1/5 8:24:00 [显示全部帖子]

不好意思,我以前用的是以下代码,现在没有了“产品ID”,采用的是“产品分类、型号、规格”关联,不知道怎么做了。

Dim Filter As String = "报价单号 = '" & Tables("报价").Current("报价单号") & "' And  ([锁定] = False Or [锁定] Is Null)"
DataTables("报价明细").DataCols("产品ID").RaiseDataColChanged(Filter)


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/1/5 9:12:00 [显示全部帖子]

1楼的示例中已经没有了“产品ID”字段
[此贴子已经被作者于2011-1-5 9:12:09编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/1/5 9:20:00 [显示全部帖子]

[产品]表的单价更新后,[报价明细]中录入产品(产品分类、型号、规格)后的单价,不打√的更新,打√的不更新(保留原值)

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/1/5 9:55:00 [显示全部帖子]

当在[报价明细]表中增加一行,输入“产品、型号、规格”后,并没有获取[产品]表当前的“单价”。(打√的单价不变)

 

上述代码也是需要的

 

 


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/1/5 10:23:00 [显示全部帖子]

下面代码中,"锁定"的条件怎么加上?

我的报价管理需求是这样的:[报价明细]中记录了不同时期报价单的信息,同一产品,不同时期的报价是不同的。如果更新了产品价格,只对当前新增的报价单有效,以前的价格不变。

 

For Each dr1 As DataRow In DataTables("产品").DataRows
    For Each dr2 As DataRow  In DataTables("报价明细").Select("产品分类 = '"  & dr1("产品分类") & "' And 型号 = '"  & dr1("型号") & "' And 规格 = '"  & dr1("规格") & "'")
        dr2("单价") = dr1("单价")
    Next
    For Each dr2 As DataRow In dr1.GetChildRows("报价明细")
      If dr1("产品分类") <> dr2("产品分类") OrElse dr1("型号") <> dr2("型号") OrElse dr1("规格") <> dr2("规格") Then
            dr2("单价") = Nothing
        End If
    Next
Next


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/1/5 11:21:00 [显示全部帖子]

这段代码基本能满足要求,不知代码是否合理

 

For Each dr1 As DataRow In DataTables("产品").DataRows
    For Each dr2 As  Row In Tables("报价.报价明细")
      If dr1("产品分类") = dr2("产品分类") AndAlso dr1("型号") = dr2("型号") AndAlso dr1("规格") = dr2("规格") AndAlso dr2("锁定") = False Then
        dr2("单价") = dr1("单价")
      End If
    Next
    For Each dr2 As DataRow In dr1.GetChildRows("报价明细")
      If dr1("产品分类") <> dr2("产品分类") OrElse dr1("型号") <> dr2("型号") OrElse dr1("规格") <> dr2("规格") Then
            dr2("单价") = Nothing
        End If
    Next
Next


 回到顶部