Foxtable(狐表)用户栏目专家坐堂 → 请教这个语句有问题吗?怎么我写进表达式生成器就不行呢?


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

主题:请教这个语句有问题吗?怎么我写进表达式生成器就不行呢?

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


加好友 发短信
等级:婴狐 帖子:36 积分:336 威望:0 精华:0 注册:2014/9/17 8:51:00
请教这个语句有问题吗?怎么我写进表达式生成器就不行呢?  发帖心情 Post By:2014/9/17 10:45:00 [只看该作者]

问题如题:

 

IIF(Parent(学生信息和报名收费).年级 = 7,10,IIF(Parent(学生信息和报名收费).年级 = 1 and Parent(学生信息和报名收费).未足龄 = '否'
,10,IIF(Parent(学生信息和报名收费).学生性质 = '转学',10,0)))

 

谢谢

[此贴子已经被作者于2014-9-17 10:51:30编辑过]

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


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

 提示什么错?

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2014/9/17 11:01:00 [只看该作者]

检查父表年级列是不是数值型

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


加好友 发短信
等级:婴狐 帖子:36 积分:336 威望:0 精华:0 注册:2014/9/17 8:51:00
  发帖心情 Post By:2014/9/17 11:02:00 [只看该作者]

很奇怪, 这会儿又对了.谢谢


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


加好友 发短信
等级:婴狐 帖子:36 积分:336 威望:0 精华:0 注册:2014/9/17 8:51:00
  发帖心情 Post By:2014/9/17 11:04:00 [只看该作者]

附带一个问题:为什么表间关联时, 父表和子表总有些字段名不出现呢?

 


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


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

 表达式列是不能做关联字段的。

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


加好友 发短信
等级:婴狐 帖子:36 积分:336 威望:0 精华:0 注册:2014/9/17 8:51:00
  发帖心情 Post By:2014/9/17 16:52:00 [只看该作者]

哦,谢谢!  再请教一下: 

 

If e.DataCol.Name = "报名日期" Then

    If e.DataRow.IsNull("报名日期") Then

        e.DataRow("报名序号") = Nothing

    Else

        Dim bh As String = Format(e.DataRow("报名日期"),"yyyyMMdd") '取得编号的8位前缀

        If e.DataRow("报名序号").StartsWith(bh) = False '如果编号的前8位不符

            Dim max As String

            Dim idx As Integer

            max = e.DataTable.Compute("Max(报名序号)","报名日期 = #" & e.DataRow("报名日期") & "# And [报名日期] <> " & e.DataRow("报名日期")) '取得该天的最大编号

            If max > "" Then '如果存在最大编号

                idx = CInt(max.Substring(9,3)) + 1 '获得最大编号的后三位顺序号,并加1

            Else

                idx = 1 '否则顺序号等于1

            End If

            e.DataRow("报名序号") = bh & "-" & Format(idx,"000")       

       End If

    End If

End If

 

    这是帮助里的表事件,按日期自动生成“报名序号”的代码,我根据自己的列名,变更了,但不能自动生成 报名序号呢。请教问题出在哪里。<!--EndFragment-->


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


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

 回复楼上,你只有修改了报名日期的值,才会重新生成序号的。

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


加好友 发短信
等级:婴狐 帖子:36 积分:336 威望:0 精华:0 注册:2014/9/17 8:51:00
  发帖心情 Post By:2014/9/17 17:01:00 [只看该作者]

现在改日期了,提示: 运行错误,调用的目标发生了异常。

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


加好友 发短信
等级:婴狐 帖子:36 积分:336 威望:0 精华:0 注册:2014/9/17 8:51:00
  发帖心情 Post By:2014/9/17 17:03:00 [只看该作者]

.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2014.9.16.1
错误所在事件:表,学生信息表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到类型“Integer”的公共成员“StartsWith”。

 回到顶部
总数 11 1 2 下一页