Foxtable(狐表)用户栏目专家坐堂 → 错在哪里?!


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

主题:错在哪里?!

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


加好友 发短信
等级:婴狐 帖子:18 积分:212 威望:0 精华:0 注册:2012/5/23 18:38:00
错在哪里?!  发帖心情 Post By:2012/5/23 18:51:00 [显示全部帖子]

紧急求助,谢谢!!!

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("值班表")
If e.DataCol.Name = "姓名" And dr.IsNull("姓名") = False And dt("日期") >= #2012-05-01# And dt("日期") <= #2012-05-31# Then
                                                                            类“DataTable” 没有默认属性,因此无法被索引。为什么此处不能用dt(“日期”)该如何改?!

 

    '星期一至星期五:[节假日]=False
    dr("星期一") = dt.Compute("Count(正班)", "[星期] = '星期一' And [正班] = '" & dr("姓名") & "'and [节假日]=false" )
    dr("星期二") = dt.Compute("Count(正班)", "[星期] = '星期二' And [正班] = '" & dr("姓名") & "'and [节假日]=false" )
    dr("星期三") = dt.Compute("Count(正班)", "[星期] = '星期三' And [正班] = '" & dr("姓名") & "'and [节假日]=false" )
    dr("星期四") = dt.Compute("Count(正班)", "[星期] = '星期四' And [正班] = '" & dr("姓名") & "'and [节假日]=false" )
    '如果星期六或星期日照常上班,则将其作为平班,加到星期五上
    dr("星期五") = dt.Compute("Count(正班)", "[星期] = '星期五' And [正班] = '" & dr("姓名") & "'and [节假日]=false" ) + dt.Compute("Count(正班)", "[星期] = '星期六' And [正班] = '" & dr("姓名") & "'and [副班]<>'' And [节假日]=false" ) + dt.Compute("Count(正班)", "[星期] = '星期日' And [正班] = '" & dr("姓名") & "'and [副班]<>'' And [节假日]=false" )
    '星期六,日的记录数:[副班]为空且[节假日]为False
    dr("星期六") = dt.Compute("Count(正班)", "[星期] = '星期六' And [正班] = '" & dr("姓名") & "'and [副班] Is Null and [节假日]=false" )
    dr("星期日") = dt.Compute("Count(正班)", "[星期] = '星期日' And [正班] = '" & dr("姓名") & "'and [副班] Is Null and [节假日]=false" )
    dr("节假日") = dt.Compute("Count(正班)", "[正班] = '" & dr("姓名") & "' and [节假日] = True" )
    dr("副班") = dt.Compute("Count(正班)", "[副班] = '" & dr("姓名") & "'" )
End If


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


加好友 发短信
等级:婴狐 帖子:18 积分:212 威望:0 精华:0 注册:2012/5/23 18:38:00
  发帖心情 Post By:2012/5/23 19:08:00 [显示全部帖子]

以下是引用yan2006l在2012-5-23 19:03:00的发言:
dt("日期")改成dr("日期")

非常谢谢,但当前表 即dr中没有日期字段,我是要引用“值班表”中的日期字段(列)。


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


加好友 发短信
等级:婴狐 帖子:18 积分:212 威望:0 精华:0 注册:2012/5/23 18:38:00
  发帖心情 Post By:2012/5/23 19:44:00 [显示全部帖子]

以下是引用yan2006l在2012-5-23 19:18:00的发言:

dt("日期")改成dt.datarows(这里自己输入第几行)("日期")

比如你日期在表中第一行。那就是dt.datarows(0)("日期")

再次深表感谢,编译通过了,但 dt.DataRows(0)("日期") >= #5/1/2012# And dt.DataRows(0)("日期") <= #5/31/2012# 没能起到先筛选出5月份,再统计的目的,为何?!

[此贴子已经被作者于2012-5-23 19:44:46编辑过]

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


加好友 发短信
等级:婴狐 帖子:18 积分:212 威望:0 精华:0 注册:2012/5/23 18:38:00
  发帖心情 Post By:2012/5/23 20:45:00 [显示全部帖子]

以下是引用狐狸爸爸在2012-5-23 19:53:00的发言:

你这段代码的意思是什么,我都看糊涂了。

最好配合例子提问,并说明设计目的。

 

值班表

日期

星期

正班

副班

节假日

2012-04-30

星期一

张三

李四

false

2012-05-01

星期二

李四

 

true

2012-05-02

星期三

王五

刘六

false

2012-05-03

星期四

刘六

丁一

false

2012-05-04

星期五

张三

李四

false

2012-05-05

星期六

李四

王五

false

2012-05-06

星期日

王五

 

false

2012-05-07

星期一

丁一

李四

false

2012-05-08

星期二

张三

 

True

........

........

........

........

........

2012-06-20

星期一

张三

李四

false



值班统计表(统计每个人的详细值班情况。值班人员固定)由DataColChanged 触发

姓名

星期一

星期二

星期三

星期四

星期五

星期六

星期日

副班

节假日

丁一

1

0

0







张三

2

0



1




1

李四





1




1

王五










刘六










 

这段代码执行成功。

问:我如何按月份筛选出值班统计表

Dim dr As DataRow = e.DataRow

Dim dt As DataTable =DataTables("值班表")

If e.DataCol.Name = "姓名" And dr.IsNull("姓名") = False Then

'If e.DataCol.Name = "姓名" And dr.IsNull("姓名") = False And dt.DataRows(0)("日期") >= #5/1/2012# And dt.DataRows(0)("日期") <= #5/31/2012# Then

   

   '星期一至星期五:[节假日]=False

    dr("星期一") = dt.Compute("Count(正班)", "[星期] = '星期一' And [正班] = '" & dr("姓名") & "'and [节假日]=false" )

    dr("星期二") = dt.Compute("Count(正班)", "[星期] = '星期二' And [正班] = '" & dr("姓名") & "'and [节假日]=false" )

    dr("星期三") = dt.Compute("Count(正班)", "[星期] = '星期三' And [正班] = '" & dr("姓名") & "'and [节假日]=false" )

    dr("星期四") = dt.Compute("Count(正班)", "[星期] = '星期四' And [正班] = '" & dr("姓名") & "'and [节假日]=false" )

    '如果星期六或星期日照常上班,则将其作为平班,加到星期五上

    dr("星期五") = dt.Compute("Count(正班)", "[星期] = '星期五' And [正班] = '" & dr("姓名") & "'and [节假日]=false" ) + dt.Compute("Count(正班)", "[星期] = '星期六' And [正班] = '" & dr("姓名") & "'and [副班]<>'' And [节假日]=false" ) + dt.Compute("Count(正班)", "[星期] = '星期日' And [正班] = '" & dr("姓名") & "'and [副班]<>'' And [节假日]=false" )

    '星期六,日的记录数:[副班]为空且[节假日]为False

    dr("星期六") = dt.Compute("Count(正班)", "[星期] = '星期六' And [正班] = '" & dr("姓名") & "'and [副班] Is Null and [节假日]=false" )

    dr("星期日") = dt.Compute("Count(正班)", "[星期] = '星期日' And [正班] = '" & dr("姓名") & "'and [副班] Is Null and [节假日]=false" )

    dr("节假日") = dt.Compute("Count(正班)", "[正班] = '" & dr("姓名") & "' and [节假日] = True" )

    dr("副班") = dt.Compute("Count(正班)", "[副班] = '" & dr("姓名") & "'" )

 

End If


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


加好友 发短信
等级:婴狐 帖子:18 积分:212 威望:0 精华:0 注册:2012/5/23 18:38:00
  发帖心情 Post By:2012/5/23 20:51:00 [显示全部帖子]

以下是引用mr725在2012-5-23 20:48:00的发言:

有点交叉表的问道哈···

由于交叉表统计出来有误,所以自己用代码实现交叉表的统计


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


加好友 发短信
等级:婴狐 帖子:18 积分:212 威望:0 精华:0 注册:2012/5/23 18:38:00
  发帖心情 Post By:2012/5/23 21:16:00 [显示全部帖子]

还有人帮我解决吗?顶!

 回到顶部