以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  insert into select  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=24559)

--  作者:johnbu
--  发布时间:2012/10/17 10:35:00
--  insert into select
我现在用的数据库是Access,在窗口中有一个Table,我用的是临时表,在窗口中不断的往这个临时表里写数据,然后通过点 提交 按钮把临时表里的数据 插入到Access里的一个数据表里。我在帮助里没有找到有insert into select 想问一下,有没有别的办法可以快速的把临时表里的多行数据 (注,不是临时表里的所有列都要写到数据表里) 写到数据表里。
--  作者:狐狸爸爸
--  发布时间:2012/10/17 10:47:00
--  
我问一下,你直接加载这个access的表(可以根据需要家在全部、部分数据,或者不加载数据),然后想这个表输入数据,需要的时候,单击保存,不可以吗? 这样不是简单很多吗?
 
你要自己编码写入access的表,首先得创建一个数据源,连接到这个access文件。
然后:
 
Dim cmd As New SQLCommand
cmd.Connection name = "数据源"
For each r as row in Tables("xxx").临时表
    cmd.CommandText = " Insert Into 表名 (列名1, 列名2, 列名3) Values(" & r(数值列)" & ",\'" &  r("字符列") & “‘,“ & r(数值列) & ")"
    cmd.ExecuteNonQuery
next

 


--  作者:johnbu
--  发布时间:2012/10/17 10:57:00
--  
由于我现在窗口里面需要统计我创建的这个订单的总金额等一些信息,把这些信息统一写到另一个数据表里,也就是说我现在用到的临时表的数据,是需要进行拆分到两个不同的表里。我想这样写会简单些,如果更麻烦的话,我就改用你说的那种方式,不过我想可能还会有一个过度表。
--  作者:狐狸爸爸
--  发布时间:2012/10/17 11:04:00
--  

及时这样,也尽量少用Insert.

你可以在表A输入数据,然后将部分数据写入表B,最后分别保存表A和表B,这样编码和维护简单很多。

 

http://www.foxtable.com/help/topics/2490.htm

 


--  作者:johnbu
--  发布时间:2012/10/17 11:20:00
--  
谢谢啦,我试一下。