Foxtable(狐表)用户栏目专家坐堂 → 甜版,表达式问题求教!!!!!


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

主题:甜版,表达式问题求教!!!!!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/5 15:53:00 [显示全部帖子]

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("鉴定统计表")
If e.DataCol.Name = "工作单位" And dr.IsNull("工作单位") = False Then
    dr("中级工") = dt.Compute("Count(工作单位)", dr("中级工") & " 中级工")
    dr("高级工") = dt.Compute("Count(工作单位)", dr("高级工") & " 高级工" )
    dr("技师") = dt.Compute("Count(工作单位)", dr("技师") & " 技师" )
    dr("高级技师") = dt.Compute("Count(工作单位)", dr("高级技师") & " 高级技师" )
   
End If

 

甜版,这段代码写入后,下面表没反应,总感觉哪不对,但不知错在哪里?请指教!


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/5 16:25:00 [显示全部帖子]

If e.DataCol.Name = "鉴定等级" Then
    If Forms("成绩审核").Opened Then
        Forms("成绩审核").Controls("中级工").Text = e.DataTable.Compute("count(工作单位)", "鉴定等级 = '中级工' And " & iif(Tables("鉴定统计表").filter>"",Tables("鉴定统计表").filter,"1=1"))
        Forms("成绩审核").Controls("高级工").Text = e.DataTable.Compute("count(工作单位)", "鉴定等级 = '高级工' And " & iif(Tables("鉴定统计表").filter>"",Tables("鉴定统计表").filter,"1=1"))
        Forms("成绩审核").Controls("技师").Text = e.DataTable.Compute("count(工作单位)", "鉴定等级 = '技师' And " & iif(Tables("鉴定统计表").filter>"",Tables("鉴定统计表").filter,"1=1"))
        Forms("成绩审核").Controls("高级技师").Text = e.DataTable.Compute("count(工作单位)", "鉴定等级 = '高级技师' And " & iif(Tables("鉴定统计表").filter>"",Tables("鉴定统计表").filter,"1=1"))
       

    End If
End If

 

甜版,我在下表的DataColChanged事件里写入上述代码,没反应,是哪错了?


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/6 1:00:00 [显示全部帖子]

看了N个小时、换了N种代码组合,还是没能理解我该怎么写代码!!!!!!

 

Dim dr As DataRow = e.DataRow
Dim
dt As DataTable =DataTables("学生成绩")
If
e.DataCol.Name = "科目" And dr.IsNull("科目") = False Then
dr(
"分布_60分以下") = dt.Compute("Count(姓名)", dr("科目") & " < 60")
dr(
"分布_60分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 60 And " & dr("科目") & " < 70" )
dr(
"分布_70分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 70 And " & dr("科目") & " < 80" )
dr(
"分布_80分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 80 And " & dr("科目") & " < 90" )
dr(
"分布_90分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 90 And " & dr("科目") & " < 100" )
dr(
"分布_100分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 100 And " & dr("科目") & " < 110" )
dr(
"分布_110分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 110 And " & dr("科目") & " < 120" )
dr(
"分布_120分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 120 And " & dr("科目") & " < 130" )
dr(
"分布_130分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 130" )
End
If

 

这段代码我理解:DataTables("学生成绩")应该是指上面的表"成绩审核表",那些个“分布多少分什么的应该相当于"工作单位","科目"相当于"鉴定工种",可我写下列代码却没用,错在哪?

Dim dr As DataRow = e.DataRow
Dim
dt As DataTable =DataTables("成绩审核表")
If
e.DataCol.Name = "鉴定工种" And dr.IsNull("鉴定工种") = False Then
dr(
"初级工") = dt.Compute("Count(姓名)", dr("鉴定工种") & " 初级工")
dr(
"中级工") = dt.Compute("Count(姓名)", dr("鉴定工种") & " 中级工")
dr(
"高级工") = dt.Compute("Count(姓名)", dr("鉴定工种") & " 高级工" )
dr(
"技师") = dt.Compute("Count(姓名)", dr("鉴定工种") & " 技师" )
dr(
"高级技师") = dt.Compute("Count(姓名)", dr("鉴定工种") & " 高级技师" )

End
If

 

 


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/6 8:56:00 [显示全部帖子]

另外,我在项目事件的MainTableChanged事件中也写了如下代码:

If MainTable.Name = "鉴定统计表" Then
    DataTables("鉴定统计表").DataCols("工作单位").RaiseDataColChanged()
End If

 

在窗口里,上面的表叫“成绩审核表”,下面的表叫“鉴定统计表”,工作单位也输入完毕,但好象没什么作用,不知代码错在哪?


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/6 9:27:00 [显示全部帖子]

我是在“鉴定统计表”里写的代码,可就是没搞懂错在哪?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:鉴定管理v1.rar


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/6 9:28:00 [显示全部帖子]

请甜版和BIN版指教,我对代码确实是小白,很多情况是理解不透!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/6 9:56:00 [显示全部帖子]

谢谢甜版,这段代码我能理解了。通过点“重置列”可以到达要求,我想让其自动变化,

在项目事件的MainTableChanged事件中设置如下代码:

If MainTable.Name = "鉴定统计表" Then
    DataTables("鉴定统计表").DataCols("鉴定等级 = '' and 工作单位 = ''").RaiseDataColChanged()
End If

表里不会自动变动,还是要通过重置列变动,是什么原因?


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/6 10:09:00 [显示全部帖子]

我开始是按
DataTables("鉴定统计表").DataCols("工作单位").RaiseDataColChanged()
输入代码,就是没反应我才改成

If MainTable.Name = "鉴定统计表" Then
    DataTables("鉴定统计表").DataCols("鉴定等级 = '' and 工作单位 = ''").RaiseDataColChanged()
End If

 

结果报错!


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/6 10:29:00 [显示全部帖子]

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

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/6 10:34:00 [显示全部帖子]

还是有些问题搞不明白,

一、上表有变动,下表要变化有2种方式,1、点重置列;2、先关闭项目再重开;

二、查询里面点任何条件查询,下表不会变,点重置列也不行;想象中间下面的文本框那样随查询条件、人员变化什么自动变;

 


图片点击可在新窗口打开查看此主题相关图片如下:(l337@w7`nh`u(4fnj7ihux.jpg
图片点击可在新窗口打开查看

 回到顶部
总数 58 上一页 1 2 3 4 5 6 下一页