以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于加载数据按钮的代码(已解决) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10891) |
||||
-- 作者:yyzlxc -- 发布时间:2011/6/28 15:00:00 -- [求助]关于加载数据按钮的代码(已解决) 想根据ComboBox所选定的值,通过按钮重新加载指定报表年月的数据;同时,用户组为“填报”时,只加载用户名对应的数据,其他用户组加载指定报表年月的全部数据,根据上述要求,该按钮代码应该如何写?请各位老师指教。谢谢!!
If e.Form.Controls("ComboBox1").Value Is Nothing Then
登录密码:123 [此贴子已经被作者于2011-6-28 19:37:38编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/6/28 15:33:00 --
|
||||
-- 作者:yyzlxc -- 发布时间:2011/6/28 15:52:00 -- 谢谢狐爸老师!修改后存在两个问题: 1、填报用户组不能加载表,出错
2、报表年月是指报表的规定时间,是每月25日截止,具体在报表年月列已经反映,可以直接引用。 再次谢谢狐爸老师的指导!! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/6/28 16:12:00 -- If e.Form.Controls("ComboBox1").Value Is Nothing Then MessageBox.Show("请输入报表年月") Return End If Dim ym As String = e.Form.Controls("ComboBox1").Value Dim y As Integer = ym.Substring(0,4) Dim m As Integer = ym.SubString(4,2) Dim dt2 As Date = new Date(y,m,25) Dim dt1 As Date = dt2.AddMonths(-1) Dim Filter As String = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#" If user.Group = "填报" Then filter = filter & " And 单位 = \'" & user.name & "\'" End If DataTables("日报源表").LoadFilter = filter DataTables("日报源表").Load |
||||
-- 作者:yyzlxc -- 发布时间:2011/6/28 17:11:00 -- 谢谢狐爸老师!填报用户组的问题已经解决,但是报表年月还是存在问题,主要是我没有表述清楚。因为一月份是1-25日,12月份是上月的26-本月的31日,其他月份是上月的26-本月的25日,所以用代码很麻烦,因此我已经增加一列辅助列--报表年月,与以上规律对应。因此,只要引用combobox1所选用的值,就可以作为加载数据的条件之一,问题是这一行代码不知如何写。所以,还请狐爸老师费神指教,再次感谢!! |
||||
-- 作者:yyzlxc -- 发布时间:2011/6/28 19:08:00 -- 对狐爸老师的代码进行修改后运行出错,请各位老师帮忙看看,错在哪里?
If e.Form.Controls("ComboBox1").Value Is Nothing Then
![]() ![]() [此贴子已经被作者于2011-6-28 19:08:41编辑过]
|
||||
-- 作者:yyzlxc -- 发布时间:2011/6/28 19:37:00 -- 终于找到问题所在,代码中缺少两个分号:
If e.Form.Controls("ComboBox1").Value Is Nothing Then
问题全部解决,谢谢老师们的热心指教!! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/6/29 8:03:00 -- ![]() |