Foxtable(狐表)用户栏目专家坐堂 → 时间段问题求助!


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

主题:时间段问题求助!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
时间段问题求助!  发帖心情 Post By:2015/2/1 14:29:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:a2_xvg2lyw}xp6g~_syx7.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:e~50r7lhonnw1$m0w7)dxr.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:f}dlza1g9}~kovq)kjycp.png
图片点击可在新窗口打开查看

 

这三张表分别是“报名登记表、成绩录入表、鉴定统计表”,其中“鉴定统计表”的列和行是固定的,第1列是单位,数量是不变的,其它各列是从“报名登记表和成绩录入表”中统计相应的数据,现在的代码只能做到累计,但我想做到在“鉴定统计表”中按上半年、下半年、全年(比如2014年)点击按钮查询并导出或打印,下面的代码我应该怎么写?在帮助里也看了很久,也没有理解该怎么下手。
Dim dr As DataRow = e.DataRow
Dim dt As Table = Tables("报名登记表")
If e.DataCol.Name = "工作单位" Then
    dr("报名_初级工") = dt.Compute("Count(身份证号码)", "鉴定等级 = '初级工' and 工作单位 = '" & dr("工作单位")  & "'" )
    dr("报名_中级工") = dt.Compute("Count(身份证号码)", "鉴定等级 = '中级工' and 工作单位 = '" & dr("工作单位")  & "'" )
    dr("报名_高级工") = dt.Compute("Count(身份证号码)", "鉴定等级 = '高级工' And 工作单位 = '" & dr("工作单位")  & "'" )
    dr("报名_技师") = dt.Compute("Count(身份证号码)", "鉴定等级 = '技师' and 工作单位 = '" & dr("工作单位")  & "'" )
    dr("报名_高级技师") = dt.Compute("Count(身份证号码)", "鉴定等级 = '高级技师' And 工作单位 = '" & dr("工作单位")  & "'" )
    dt = Tables("成绩录入表")
    dr("理论_技师") = dt.Compute("Count(身份证号码)", "鉴定等级 = '技师' and 工作单位 = '" & dr("工作单位")  & "'" )
    dr("理论_高级技师") = dt.Compute("Count(身份证号码)", "鉴定等级 = '高级技师' And 工作单位 = '" & dr("工作单位")  & "'" )
    dr("实操_技师") = dt.Compute("Count(身份证号码)", "鉴定等级 = '技师' and 工作单位 = '" & dr("工作单位")  & "'" )
    dr("实操_高级技师") = dt.Compute("Count(身份证号码)", "鉴定等级 = '高级技师' And 工作单位 = '" & dr("工作单位")  & "'" )
    dt = Tables("证书编号表")
    dr("取证_初级工") = dt.Compute("Count(身份证号码)", "鉴定等级 = '初级工' and 工作单位 = '" & dr("工作单位")  & "'" )
    dr("取证_中级工") = dt.Compute("Count(身份证号码)", "鉴定等级 = '中级工' and 工作单位 = '" & dr("工作单位")  & "'" )
    dr("取证_高级工") = dt.Compute("Count(身份证号码)", "鉴定等级 = '高级工' And 工作单位 = '" & dr("工作单位")  & "'" )
    dr("取证_技师") = dt.Compute("Count(身份证号码)", "鉴定等级 = '技师' and 工作单位 = '" & dr("工作单位")  & "'" )
    dr("取证_高级技师") = dt.Compute("Count(身份证号码)", "鉴定等级 = '高级技师' And 工作单位 = '" & dr("工作单位")  & "'" )
   
End If


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/1 14:30:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:v33vzru0b$u{qqu3b5xo3w2.jpg
图片点击可在新窗口打开查看

 

这是鉴定统计表的窗口


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/1 14:43:00 [只看该作者]

另外问一下:我是不是还要购买正式版的进行发布?怎么买?我的项目比较简单,现在只差2、3个环节没解决,完成就可以发布用了,关键是领导要比较完整的功能才会批准购买,所以我必须解决好这些问题,否则我又得回到用EXCEL来管理工作了,请版主赐教!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/1 16:58:00 [只看该作者]

版主今天在吗?请赐教!

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


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2015/2/1 19:10:00 [只看该作者]

参考下面的代码:fd 和 ld 换成你窗口中的日期控件的值

Dim Val As Date = Date.Today()
Dim Val1 As Date = Date.Today()
Dim ld As Date
Dim fd As Date
If InputValue(Val, "开始日期","请输入开始日期:" ) Then
    fd  = Format(val, "yyyy-MM-dd")
        If InputValue(Val1, "截止日期","请输截止入日期:" ) Then
        ld = Format(val1, "yyyy-MM-dd")
        e.Form.Controls("Table1").Table.DataTable.LoadFilter = "鉴定时间 >=  '" & fd & "' And 鉴定时间 <= '" & ld & "'"
        e.Form.Controls("Table1").Table.DataTable.Load
    End If
End If

[此贴子已经被作者于2015-2-1 19:09:59编辑过]

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/1 19:13:00 [只看该作者]

图片点击可在新窗口打开查看谢谢!我去改下试试!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/1 19:23:00 [只看该作者]

这段代码应该是窗口中的“查询”按钮代码吧?有几个地方不明白,这个窗口表中涉及到的“报名登记表”和“成绩录入表”在哪体现出调用了它们?是“table1”?

 

2个窗口中的日期控件分别是:StartDateEndDate,都是DateTimePicker控件,我对代码理解能力很差,请赐教!

 


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/2 8:21:00 [只看该作者]

1.对的.
2.

Dim Val As Date = e.form.controls("StartDate").Value
Dim Val1 As Date = e.form.controls("EndDate").Value

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/2 9:32:00 [只看该作者]

图片点击可在新窗口打开查看请Bin版明示,“查询”按钮就这两句代码就可以了吗?还是要写成下面这样的:

 

Dim Val As Date = e.form.controls("StartDate").Value
Dim Val1 As Date = e.form.controls("EndDate").Value
Dim ld As Date
Dim fd As Date
If InputValue(Val, "开始日期","请输入开始日期:" ) Then
    fd  = Format(val, "yyyy-MM-dd")
        If InputValue(Val1, "截止日期","请输截止入日期:" ) Then
        ld = Format(val1, "yyyy-MM-dd")
        e.Form.Controls("Table1").Table.DataTable.LoadFilter = "鉴定时间 >=  '" & fd & "' And 鉴定时间 <= '" & ld & "'"
        e.Form.Controls("Table1").Table.DataTable.Load
    End If
End If
 
或者是将1楼的表datecolchanged事件代码换过来?

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


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

Dim fd As Date = e.form.controls("StartDate").Value
Dim ld As Date = e.form.controls("EndDate").Value

e.Form.Controls("Table1").Table.DataTable.LoadFilter = "鉴定时间 >= #" & fd & "# And 鉴定时间 <= #" & ld & "#"
e.Form.Controls("Table1").Table.DataTable.Load

[此贴子已经被作者于2015-2-2 9:55:04编辑过]

 回到顶部
总数 34 1 2 3 4 下一页