谢谢回复!改回来后也不能实现按年份和月份这二个控件中所选择的时间进行有条件的汇总。
我的目的是实现按照年份和月份所选择的日期,来汇总
任意一个月份的数据,点击“
按月汇总”按扭后还是出错!
要学会调试代码,既然没有填充数据,而且不报错,那么说明条件可能有问题,我就加一句:
messagebox.show(f.Filter)看看生成的条件到底是什么。
调试成功再删除这一句。
Dim Year As Short = e.Form.Controls("listbox1").SelectedItem
Dim Month As byte = e.Form.Controls("listbox2").SelectedItem
dim f As New Filler
DataTables("汇总表").DataRows.Clear
f.SourceTable = DataTables("明细表") '指定数据来源
f.SourceCols = "日期" '指定数据来源列
f.DataTable = DataTables("汇总表") '指定数据接收表
f.DataCols = "日期" '指定数据接收列
f.ExcludeExistValue=true '排除接收表中已经存在的内容
f.Filter = "[月] = " & month '过滤条件
messagebox.show(f.Filter)
f.Fill() '填充数据
[此贴子已经被作者于2008-11-24 9:46:42编辑过]
谢谢指点!提示框显示 [月]='0' 即使调整月份值为任意月份提示框都是显示 [月]='0' ,证明listbox2的值没有正确取值。
Dim Year As Short = e.Form.Controls("listbox1").SelectedItem
Dim Month As byte = e.Form.Controls("listbox2").SelectedItem
上述二行好象有问题,换成Integer 也还是那样。如若换成String 则会出现错误提示。
如何解决,还请明示。谢谢了!
我也说一下,我发那个代码也是经过测试的,代码应该没有任何问题。
那么问题应该出在哪呢,我大胆的猜测一下,楼主在listbox中选择年月时只是按了一下上下键头,焦点并没有选择所需的年月,因为没有选中年月,数据肯定不能填充过来。
试一下选中年月后再执行此操作,选中状态见下图。
![dvubb 图片点击可在新窗口打开查看](skins/default/filetype/bmp.gif)
此主题相关图片如下:qq截图未命名.bmp
[此贴子已经被作者于2008-11-24 11:03:23编辑过]
二位版主的代码我都试了一下,都好使。原因还是C版所指出的
焦点并未停在该二个控件上的原因。
问题解决了,但是这二个控件为何必须选择焦点呢?真是怪麻烦了。
让二位查了这么久,谢谢了!
我又操作了N次,觉得每次汇总都要选择不同月份,然后再将焦点定位在这二个控件上,实在是太麻烦了。这一点上不如易表的操作方便。老六应该改一下,为何不能所见即所得呢?就这样交给用户实在是不方便!!
那怕是我们在代码中加二行,让它自动对正这二个控件的焦点也行。看看高手们还有何方法让它们能自动取焦点。图片如下:
![dvubb 图片点击可在新窗口打开查看](skins/default/filetype/bmp.gif)
此主题相关图片如下:200.bmp
[此贴子已经被作者于2008-11-24 15:41:24编辑过]