小弟才学VB没多久。
是个收银系统,有个当天的流水表,然后当日结帐后,把数据汇总到当月的一个表,比如昨天的表汇总到201011,
我想通过输入2个日期,查询2个时间段之间的流水,然后进行分类汇总
比如统计2010-09-15到2010-11-04之间的流水分类汇总就要把201009,201010,201011这3个表的符合要求的流水放在一起,然后分类汇总。这如何做?怎么写SQL语句?如果可以不要用存储过程我不会。。- -!列名为 (流水号,品牌名称,实际销售价格)
是个收银系统,有个当天的流水表,然后当日结帐后,把数据汇总到当月的一个表,比如昨天的表汇总到201011,
我想通过输入2个日期,查询2个时间段之间的流水,然后进行分类汇总
比如统计2010-09-15到2010-11-04之间的流水分类汇总就要把201009,201010,201011这3个表的符合要求的流水放在一起,然后分类汇总。这如何做?怎么写SQL语句?如果可以不要用存储过程我不会。。- -!列名为 (流水号,品牌名称,实际销售价格)
1、写一个过程,参数为 要查询的 开始日期,结束日期,形如:
Public Function TotalAccount(StartRq As Date, EndRq As Date) As Integer '汇总金额
....
....
End Function根据 开始/结束日期,计算出中间相隔的月数n,通过动态数组的方式把日期+月 取出来作为要打开的表T(n)如 201009 201010 201011,(这步比较关键,我也在思考)然后通SQL语句统计,如 select 其它字段,sum(实际销售价格) as 汇总价格 from t(n) where 时间 between startrq and 当月结束时间(30号或31号)2、调用 过程:汇总=TotalAccount("2010-09-15", "2010-11-07")
2010-09-15至2010-09-30 对应201009表
2010-10-01至2010-10-31 对应201010表
2010-11-01至2010-11-07 对应201011表然后再弄进一张表里,再进行select分类汇总
FDName = "结算"
TMName = "结算日期"
SqlStr = "Select Sum(" & FDName & ") FROM " & TbName & " Where " & TMName & " = #" & IDateStr & "# Group by " & TMName
select * from
(
select * from 201009 where [流水号] > '20100915' and [流水号]<'20101105'
union
select * from 201010 where [流水号] > '20100915' and [流水号]<'20101105'
union
select * from 201011 where [流水号] > '20100915' and [流水号]<'20101105'
)a
这个是查询2010-09-15到2010-11-04之间数据的语句来的,如果要导入别的表就用Insert into 或者 select into 语句稍微改造一下就O了,另外你的表里没有关于时间的字段,我这里假定你的流水号前面是以日期开头的而且是字符型的字段,你可以根据你的实际情况修改where后面的判断条件咯