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


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

主题:错在哪里?!

帅哥哟,离线,有人找我吗?
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


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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2012/5/23 19:03:00 [只看该作者]

dt("日期")改成dr("日期")

 回到顶部
帅哥哟,离线,有人找我吗?
luohanyuluo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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中没有日期字段,我是要引用“值班表”中的日期字段(列)。


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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2012/5/23 19:18:00 [只看该作者]

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

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


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2012/5/23 19:43:00 [只看该作者]

Dim dr1 As DataRow =DataTables("值班表").Find("日期 = #" & e.Datarow("日期") & "# "

再这样 :

dr1("日期") >= #2012-05-01# And dr1("日期") <= #2012-05-31#

[此贴子已经被作者于2012-5-23 20:32:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
luohanyuluo
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/23 19:53:00 [只看该作者]

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

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


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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2012/5/23 19:54:00 [只看该作者]

因为你的代码的意思是:如果符合条件就执行后面的代码,而后面的代码你本来就没有设置筛选条件啊。所以你本身思路就有问题,那个如果那边根本就不用设时间条件,而是在后面的Compute的()里面设置时间条件


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/23 19:56:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("值班表")

Dim r As row =Tables("值班表").Current
If e.DataCol.Name = "姓名" And dr.IsNull("姓名") = False and
dt("日期") >= #2012-05-01# And r("日期") <= #2012-05-31# Then
…………


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2012/5/23 20:36:00 [只看该作者]

以下是引用程兴刚在2012-5-23 19:56:00的发言:

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("值班表")

Dim r As row =Tables("值班表").Current
If e.DataCol.Name = "姓名" And dr.IsNull("姓名") = False and dt("日期") 
>= #2012-05-01# And r("日期") <= #2012-05-31# Then
…………

dt("日期")        笔误吧:  》    r("日期")


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