如下是苯办法,不知怎么做才不用转这么大个弯。
Dim cm As WinForm.ComboBox = e.Form.Controls("ComboBox1")
If cm.value = "" then
MessageBox.Show("请选择帐号!","提示")
Return
end if
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("日期", GetType(Date))
dtb.AddDef("收支", GetType(String),32)
dtb.AddDef("类别", GetType(String),32)
dtb.AddDef("摘要", GetType(String),32)
dtb.AddDef("币种", GetType(String),32)
dtb.AddDef("金额", GetType(Double))
dtb.AddDef("收支帐号",GetType(String),32)
dtb.AddDef("工作号",GetType(String), 100)
dtb.AddDef("往来",GetType(String), 32)
dtb.Build()
DataTables("统计").DataRows.Clear() '清除原有数据
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "SELECT * From {销帐录入}"
dim tb as datatable = cmd.ExecuteReader()
dim f As New Filler
f.SourceTable = tb '指定数据来源
f.SourceCols = "收付日期,收付,收付公司,摘要,币制,实际收付金额,收付帐号,业务号" '指定数据来源列
f.DataTable = DataTables("统计") '指定数据接收表
f.DataCols = "日期,收支,类别,摘要,币种,金额,收支帐号,工作号" '指定数据接收列
f.Distinct = False
f.Filter = "[收付日期] >= #" & Vars("起始日期") & "# and [收付日期] <= #" & Vars("结束日期") & "# and 收付帐号 = '" & cm.value & "'"
f.Fill() '填充数据
cmd.CommandText = "SELECT * From {办公开支}"
dim tb1 as datatable = cmd.ExecuteReader()
dim f1 As New Filler
f1.SourceTable = tb1 '指定数据来源
f1.SourceCols = "日期,收支,类别,摘要,币种,金额,收支帐号,往来" '指定数据来源列
f1.DataTable = DataTables("统计") '指定数据接收表
f1.DataCols = "日期,收支,类别,摘要,币种,金额,收支帐号,往来" '指定数据接收列
f1.Distinct = False
f1.Filter = "[日期] >= #" & Vars("起始日期") & "# and [日期] <= #" & Vars("结束日期") & "# and 收支帐号 = '" & cm.value & "'"
f1.Fill() '填充数据
Tables("报表_Table3").DataSource = DataTables("统计")