Foxtable(狐表)用户栏目专家坐堂 → [求助][讨论]有关表属性关联的问题


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

主题:[求助][讨论]有关表属性关联的问题

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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
[求助][讨论]有关表属性关联的问题  发帖心情 Post By:2015/2/4 15:47:00 [只看该作者]

我想做一个报价的程序,表属性事件数据项的代码问题,我先把所有规格跟相对应的价格都输入到参数的表格内,当镀锌阀成本计算表格的宽跟高有变动时会自动抽取镀锌阀成本参数表内对应规格的价格显示到阀体单价一栏内。如果只变动一个参数宽或者高,这个代码我会写,现在是两个参数宽跟高都要变化才能准确的显示相对应的价格(因为宽或者高参数是复式)。求各位大侠帮我看看这个该怎么写,谢谢!

 

 

If e.DataCol.Name = "宽" Then '发生变化的是宽吗?
    '在镀锌阀成本参数找出宽
    Dim dr As DataRow
    dr = DataTables("镀锌阀成本参数").Find("宽 = " & "'" & e.DataRow("宽") & "'" )
    If dr IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("阀体单价")= dr("价格")
    Else
        '否则清除阀体单价的内容
        e.DataRow("阀体单价") = Nothing
    End If
End If

这是单项宽变换时的代码,现在要宽高两个参数都变化,改怎么写呢!求高手帮忙,谢谢!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/4 15:52:00 [只看该作者]

If e.DataCol.Name = "宽" orlese  e.DataCol.Name = "高" Then '发生变化的是宽吗?
if e.datarow.isnull("宽")=false andalso e.datarow.isnull("高")=false then
    '在镀锌阀成本参数找出宽
    Dim dr As DataRow 
    dr = DataTables("镀锌阀成本参数").Find("宽 = " & "'" & e.DataRow("宽") & "' and 高='" & e.DataRow("高") & "'")
    If dr IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("阀体单价")= dr("价格")
    Else
        '否则清除阀体单价的内容
        e.DataRow("阀体单价") = Nothing
    End If
End If
end if

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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
  发帖心情 Post By:2015/2/4 16:02:00 [只看该作者]

谢谢楼上版主的帮助,但是语法有错误,您能再帮我看一下吗?谢谢!

图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/4 16:04:00 [只看该作者]

If e.DataCol.Name = "宽" OrElse  e.DataCol.Name = "高" Then '发生变化的是宽吗?
    If e.DataRow.isnull("宽")=False AndAlso e.DataRow.isnull("高")=False Then
        '在镀锌阀成本参数找出宽
        Dim dr As DataRow
        dr = DataTables("镀锌阀成本参数").Find("宽 = " & "'" & e.DataRow("宽") & "' and 高='" & e.DataRow("高") & "'")
        If dr IsNot Nothing '如果找到, 则设置各列内容
            e.DataRow("阀体单价")= dr("价格")
        Else
            '否则清除阀体单价的内容
            e.DataRow("阀体单价") = Nothing
        End If
    End If
End If

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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
  发帖心情 Post By:2015/2/4 16:04:00 [只看该作者]

错误显示:应为语句结束

错误代码是:If e.DataCol.Name = "宽" orlese  e.DataCol.Name = "高" Then '发生变化的是宽吗?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/4 16:05:00 [只看该作者]

If e.DataCol.Name = "宽" Orelse e.DataCol.Name = "高" Then 

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


加好友 发短信
等级:婴狐 帖子:20 积分:242 威望:0 精华:0 注册:2011/12/17 18:43:00
  发帖心情 Post By:2015/2/4 16:13:00 [只看该作者]

谢谢版主!

 回到顶部