在ADO下如何用一个Table的数据Update另一个Table上(300分)

  • 主题发起人 主题发起人 hxg
  • 开始时间 开始时间
H

hxg

Unregistered / Unconfirmed
GUEST, unregistred user!
ADO操作Access,数据库中有两个表,结构相同(字段:序号、日期和价格)
其中Table1的为主数据表,包括所有月份的数据,如数据:
序号 日期 价格
11 2000-01-01 30
12 2000-01-01 2
13
... .....


Table2为临时表,只有当前一个月的数据。
如何用SQL语句将某一日期的Table1的数据更新到Table2中。
急!
 
insert into table2
select * from table1
where 日期='xxxxx'
 
用tbatchmove 可以
source指定原数据集table or query,destination指定目标数据集table
mode 设置操作方式 batupdate
execute 执行
 
agree with qtil
 
oh

使用tupdatesql
modifysql ===
update tablename.db {or access's} set
序号:=序号,价格:=价格
where 日期:=日期
parambyname(''):=table2.fieldbyname().asstring;
........
table1.cachedupdates:=true;
teble1.open;
{first table1.databasename:=tablename.db}
 
建议用QTIL的法子
 
既然结构完全相同,就用 qtil 的方法。快。
 
to hxg
你是否还要把table1中的价格合并到table中的价格,再把和更新在table2中.
 
to liuchuanbo:
ado control not support batchmove and updatesql
 
哥们,假如你对SQL不是很熟悉的话,你可用ACCESS的图形化SQL生成器自动生成SQL语句,
即使你对SQL很熟悉,也不要手工写,可视化的东西就是好,听我的,没有错!
在本问题中你要注意一下日期的格式。
 
同意 qtil。
to liuchuanbo: ADO isn't BDE,do not TBatchMove.
 
insert into table2
select * from table1
where datepart(yy,日期)=年份 and datepart(mm,日期)=月份
 

update Table2
set
序号:=序号,
价格:=价格,
:=日期

where Table1.日期='xxxxxx'
 
insert into table2
select * from table1
where datepart(yy,日期)=年份 and datepart(mm,日期)=月份
 
只需batchmove控件
 
update tabel2
set tabel2.价格=tabel1.价格
from tabel1
where tabel1.日期='xxxx-xx-xx'
 
别老让我结束问题啊.一点道德都没有!!
 
后退
顶部