设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 7625|回复: 5
打印 上一主题 下一主题

[其它] 请问 如何把一个DAO数据集(recordset)一次性写入一个数据表中而不是逐条写入。

[复制链接]
跳转到指定楼层
1#
发表于 2012-9-29 21:12:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zrj898 于 2012-9-29 21:14 编辑

请问 如何把一个DAO数据集(recordset)一次性写入一个数据表中而不是逐条写入。
逐条写入的效率太低了,希望能得到结果。recordset的字段数是大于数据表的,而数据表的字段被recordset包含。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-9-29 23:54:34 | 只看该作者
把记录集中的SQL语句处理成查询,然后追加。
http://www.office-cn.net/thread-114632-1-1.html
第8楼。
3#
发表于 2012-9-30 09:37:10 | 只看该作者
有点不明楼主的意思,一次向另一表输入数据前的原表的数据不是要逐条写入吗?
4#
 楼主| 发表于 2012-9-30 13:52:28 | 只看该作者
Private Sub µ±Ç°Íø¸ñ×ø±êÕûÀíºóдÈ뵱ǰÍø¸ñ×ø±ê±í2()
    Dim Sxjl() As ReXYH
    Dim TempX, TempY, TempH As Double
    Dim TempID As Long
    Dim TempS As String
    Dim i, ii As Long
        'On Error Resume Next
        Set Rst01 = Me.²âÁ¿³É¹û±í_×Ó´°Ìå.Form.RecordsetClone
        Rst01.MoveFirst
        For i = 0 To Rst01.RecordCount - 1
            TempID = Rst01.Fields("ID").Value
            TempS = Rst01.Fields("µãºÅ").Value
            TempX = Rst01.Fields("±±×ø±ê").Value
            TempY = Rst01.Fields("¶«×ø±ê").Value
            TempH = Rst01.Fields("¸ß³Ì").Value
            If InStr(Format(TempY, "0.000"), ".") = 9 Then
                TempY = TempY - TYdh01 * 1000000
                Rst01.Edit
                Rst01.Fields("¶«×ø±ê").Value = Rst01.Fields("¶«×ø±ê").Value - TYdh01 * 1000000
            End If
                Sql = "insert into ת»»Ç°Íø¸ñ×ø±êÁÙʱ±í (Êý¾ÝID,ÏîÄ¿ID,µãºÅ,±±×ø±ê,¶«×ø±ê,¸ß³Ì) values " _
                    & "(" & str(TempID) & "," & str(XmID) & ",'" & TempS & "'," & Format(TempX, "0.0000") _
                    & "," & Format(TempY, "0.0000") & "," & Format(TempH, "0.000") & ")"
                DoCmd.RunSQL Sql
            Rst01.MoveNext
        Next i
        ²âÁ¿³É¹û±í_×Ó´°Ìå.Requery
End Sub
有乱码没办法 看懂我的意思了吗?
5#
发表于 2012-10-3 10:55:20 | 只看该作者
recordset来源于表,就用runsql
否则还是逐条写入吧

点击这里给我发消息

6#
发表于 2012-10-3 23:20:49 | 只看该作者
记录集(recordset)不能一次性写入一个数据库表,想别的办法吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-26 19:56 , Processed in 0.120807 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表