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


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

主题:要求自动显示单价

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


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

记得将材料单价表的厚度列的列类型改为双精度小数,你现在设置成字符型了。

 

代码我已经帮你设置好:

 

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


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


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

那就再加上送货地点的条件啊:
 
Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "材料名称","规格","厚度"
        Dim dr2 As DataRow
        Dim fls As String
        fls = "名称 = '" & dr1("材料名称") & "' And 规格 = '" & dr1("规格") & "' And 厚度 = " & dr1("厚度") & " And 送货地点  = '" & dr1("送货地点") & "'"
        dr2 = DataTables("材料单价").Find(fls)
        If dr2 IsNot Nothing Then
            dr1("单价") = dr2("单价")
        End If
End Select

 


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


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

代码放在进库材料表的DataColChanged事件中,你删除原来的代码,将4楼代码复制进去即可。

 

这是帮你设置好的文件:

 

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

 

[此贴子已经被作者于2011-3-13 9:46:36编辑过]

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


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

呵呵,我测试两个表都能增加行和插入行。

 

上面的代码还有一些问题,请改为:

 

Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "材料名称","规格","厚度", "送货地点"
        Dim dr2 As DataRow
        Dim fls As String
        fls = "名称 = '" & dr1("材料名称") & "' And 规格 = '" & dr1("规格") & "' And 厚度 = " & dr1("厚度") & " And 送货地点  = '" & dr1("送货地点") & "'"
        dr2 = DataTables("材料单价").Find(fls)
        If dr2 IsNot Nothing Then
            dr1("单价") = dr2("单价")
        End If
End Select

 

修改代码后,请重置一次材料进库表的规格列。

现在你修改材料单价,材料进库的单价并不会改变,只有新增的行才会改变单价。

[此贴子已经被作者于2011-3-13 11:10:51编辑过]

 回到顶部