我现在一张表里有这样的数据:
dATE W_Amount M_Remain
2003-09 0 0
2003-10 1 2
2003-11 4 5
2003-12 5 8
2004-01 8 22
我需要求每一个月的记录与上一一个月的记录的差作为一条记录;就是这样我先取得这样得数据:
dATE W_Amount M_Remain
2003-10 1 2
2003-11 3 3
2003-12 1 3
2004-01 3 14
各位高手,我能实现吗,如何实现?
dATE W_Amount M_Remain
2003-09 0 0
2003-10 1 2
2003-11 4 5
2003-12 5 8
2004-01 8 22
我需要求每一个月的记录与上一一个月的记录的差作为一条记录;就是这样我先取得这样得数据:
dATE W_Amount M_Remain
2003-10 1 2
2003-11 3 3
2003-12 1 3
2004-01 3 14
各位高手,我能实现吗,如何实现?
解决方案 »
- 请大家帮忙看看这段代码?编译错误,参数不可选
- 对象变量未设置
- 使用OpenRowSet打开dbf文件
- vb中怎样设置一个窗口标题栏只的最小化按钮?谢谢
- 用VB如何获取文件的创建时间?
- 高分求MD5问题,在线等待中
- 如何编程实现从把EXCEL表里的数据追加到ACCESS数据库的一个表里
- 在textbox或label控件中如何使字竖向显示
- 有那们知道ICON文件的文件结构
- 我在ACCESS中用VBA写了一个东西,在我的机器上运行正常,但这个库考到别人的机器上,里面很多函数(如LEFT、FORMAT等)都不能用了。重新安装了OFFICE2000也不行,怎么回事呢?
- 查询问题
- 在SQL Server中日期型字段该怎么操作呢?
可以,还有什么不能实现的! dim i as integer,j as integer
dim OldData() as string
dim NewData() as string
dim dATE() As string
dim table as new adodb.connection
dim dbstr as string
dim dbrecord as recordset dbstr="DSN=数据库别名" '用ODBC连接数据库方式
table.open dbstr
Set dbrecord=table.execute("Select * from 上面的表名 order by dATE")
dbrecord.movefirst
j=-1
i=0
while noe dbrecord.eof
redim OldData(j)
redim NewData(j)
redim dATE(j)
OldData(j)=dbrecord("W_Amount").value
dATE(j)=dbrecord("dATE").value
i=i+1
dbrecord.movenext
wend
for j=1 to i-1
NewData(j)=CStr(Cint(OldData(j)-Cint(OldData(j-1)))
next
for j=1 to i-1
Set dbrecord=table.execute("Update 上面的数据表名 set W_Amount="&"'" _
&NewData(j)&"'"&"where dATE="&"'"&dATE(j)&"'")
next
table.close
注:这只是更新了列W_Amount,如果要更新列M_Remain的话,只需再增加两个数组,处理过程一样的,在此就略了.
(t2.W_Amount-t1.W_Amount) as W_Amount,
(t2.M_Remain-t1.M_Remain) as M_Remain
into newtable
from table1 as t1,table1 as t2
where t1.dATE=dateadd(d,-1,t2.dATE)