Foxtable(狐表)用户栏目专家坐堂 → 求助表达式该如何设计?


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

主题:求助表达式该如何设计?

美女呀,离线,留言给我吧!
小小小狐
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:172 威望:0 精华:0 注册:2016/6/21 19:12:00
求助表达式该如何设计?  发帖心情 Post By:2016/6/27 14:17:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1111.bmp
图片点击可在新窗口打开查看
我想设置消费金额在不同区间,表达式列里会自动出现会员级别,看帮助只看到这样

IIF( 550 > [消费金额] > 0, '普通会员', '黄金会员')

如何设置成0<消费金额<550,普通会员

              550<消费金额<1200,黄金会员

              1200<消费金额<1550,白金会员

              1550<消费金额<2000,铂金会员

              2000<消费金额,钻石会员

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 15:20:00 [只看该作者]

 编写dataColChanged事件

 

Select Case e.DataCol.name
    Case "消费金额"
        Dim i As Double = e.DataRow("消费金额")
        If i > 0 AndAlso i < 550 Then
            e.DataRow("会员等级") = "普通会员"
        ElseIf i > 550 AndAlso i < 1200 Then
            e.DataRow("会员等级") = "黄金会员"
        ElseIf i > 1200 AndAlso i < 1550 Then
            e.DataRow("会员等级") = "白金会员"
        ElseIf i > 1550 AndAlso i < 2000 Then
            e.DataRow("会员等级") = "会员"
        ElseIf i > 2000 Then
            e.DataRow("会员等级") = "普通会员"
        End If
End Select


 回到顶部
美女呀,离线,留言给我吧!
小小小狐
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:172 威望:0 精华:0 注册:2016/6/21 19:12:00
  发帖心情 Post By:2016/6/27 18:43:00 [只看该作者]

如果是手动输入数据,按照那个代码写可以自动获取会员级别,但是把消费金额列设置成了表达式列,是根据另一个表计算总金额,但是会员级别并不会自动改变。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 19:38:00 [只看该作者]

编写dataColChanged事件

 

Select Case e.DataCol.name
    Case "会员等级"
        Dim i As Double = e.DataRow("消费金额")
        If i > 0 AndAlso i < 550 Then
            e.DataRow("会员等级") = "普通会员"
        ElseIf i > 550 AndAlso i < 1200 Then
            e.DataRow("会员等级") = "黄金会员"
        ElseIf i > 1200 AndAlso i < 1550 Then
            e.DataRow("会员等级") = "白金会员"
        ElseIf i > 1550 AndAlso i < 2000 Then
            e.DataRow("会员等级") = "会员"
        ElseIf i > 2000 Then
            e.DataRow("会员等级") = "普通会员"
        End If
End Select

 

子表的datacolchanged事件

 

If e.DataCol.Name = "金额" Then DataTables("表A").DataCols("会员等级").RaiseDataColChanged


 回到顶部
美女呀,离线,留言给我吧!
小小小狐
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:172 威望:0 精华:0 注册:2016/6/21 19:12:00
  发帖心情 Post By:2016/6/28 11:05:00 [只看该作者]

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

为什么还是不行啊?也不知道是哪里出问题了,我就先弄了简单的表,麻烦老师帮忙看看这是哪里的问题?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/28 11:19:00 [只看该作者]

Select Case e.DataCol.Name
    Case "数量", "单价"
        DataTables("会员资料").DataCols("会员等级").RaiseDataColChanged
End Select

 回到顶部
美女呀,离线,留言给我吧!
小小小狐
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:172 威望:0 精华:0 注册:2016/6/21 19:12:00
  发帖心情 Post By:2016/6/28 11:34:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:未命名.bmp
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看问题层出不穷啊!!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/28 11:36:00 [只看该作者]

Dim i As Double = e.DataRow("消费金额")

 

改成

 

Dim i As Double = val(e.DataRow("消费金额"))


 回到顶部
美女呀,离线,留言给我吧!
小小小狐
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:172 威望:0 精华:0 注册:2016/6/21 19:12:00
  发帖心情 Post By:2016/6/28 11:48:00 [只看该作者]

图片点击可在新窗口打开查看已经没有问题了,太感谢您了!!!图片点击可在新窗口打开查看

 回到顶部