Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
想根据ComboBox所选定的值,通过按钮重新加载指定报表年月的数据;同时,用户组为“填报”时,只加载用户名对应的数据,其他用户组加载指定报表年月的全部数据,根据上述要求,该按钮代码应该如何写?请各位老师指教。谢谢!!
If e.Form.Controls("ComboBox1").Value Is Nothing Then
MessageBox.Show("请输入报表年月")
Return
End If
Dim dt As String = e.Form.Controls("ComboBox1").Value
DataTables("日报源表").LoadFilter =???
DataTables("日报源表").Load
下载信息 [文件大小: 下载次数: ] | |
![]() |
下载信息 [文件大小: 下载次数: ] | |
![]() |
谢谢狐爸老师!修改后存在两个问题:
1、填报用户组不能加载表,出错
2、报表年月是指报表的规定时间,是每月25日截止,具体在报表年月列已经反映,可以直接引用。
再次谢谢狐爸老师的指导!!
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
谢谢狐爸老师!填报用户组的问题已经解决,但是报表年月还是存在问题,主要是我没有表述清楚。因为一月份是1-25日,12月份是上月的26-本月的31日,其他月份是上月的26-本月的25日,所以用代码很麻烦,因此我已经增加一列辅助列--报表年月,与以上规律对应。因此,只要引用combobox1所选用的值,就可以作为加载数据的条件之一,问题是这一行代码不知如何写。所以,还请狐爸老师费神指教,再次感谢!!
对狐爸老师的代码进行修改后运行出错,请各位老师帮忙看看,错在哪里?
If e.Form.Controls("ComboBox1").Value Is Nothing Then
MessageBox.Show("请输入报表年月")
Return
End If
Dim ym As String = e.Form.Controls("ComboBox1").Value
Dim Filter As String = "报表年月 = " & ym & ""
If user.Group = "填报" Then
filter = filter & " And 单位 = '" & user.name & "'"
End If
DataTables("日报源表").LoadFilter = filter
DataTables("日报源表").Load
终于找到问题所在,代码中缺少两个分号:
If e.Form.Controls("ComboBox1").Value Is Nothing Then
MessageBox.Show("请输入报表年月")
Return
End If
Dim ym As String = e.Form.Controls("ComboBox1").Value
Dim Filter As String = "报表年月 = '" & ym & "'"
If user.Group = "填报" Then
filter = filter & " And 单位 = '" & user.name & "'"
End If
DataTables("日报源表").LoadFilter = filter
DataTables("日报源表").Load
问题全部解决,谢谢老师们的热心指教!!