设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 循环中怎样压缩数据库

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-25 02:13:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有很多的TXT文档要导入到access中,希望每导入一个TXT文档,执行一步查询和DAO做的更新,然后压缩数据库,再导入下一个TXT文档,但是怎样才能执行压缩后在执行接下来的步骤呢?

Private Sub Command0_Click()
Dim MyFile, MyPath

On Error GoTo ImportTXTFile_Err

MyPath = "C:\Documents and Settings\xiaoapen\桌面\apeng0123\"
MyFile = Dir(MyPath & "*.txt")    ' 找寻第一项。
Do While MyFile <> ""    ' 开始循环。
    If myname <> "." And myname <> ".." Then
        If (GetAttr(MyPath & MyFile) And vbDirectory) <> vbDirectory Then
            Debug.Print MyFile
            DoCmd.TransferText , "导入规格", "原始", MyPath & MyFile, False
            DoCmd.OpenQuery "查询1"
            qqqqq
            DoCmd.OpenQuery "查询2"
            DoCmd.OpenQuery "查询3"
            Call del_errTab
            Compact
        End If
    End If
    MyFile = Dir    ' 查找下一个目录。
    Loop
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-1-25 04:23:00 | 只看该作者
压缩当前数据库,调用下面的命令

CommandBars("menu bar").Controls("工具(&T)").Controls("数据库实用工具(&D)").Controls("压缩和修复数据库(&C)...").accDoDefaultAction
3#
 楼主| 发表于 2007-1-25 05:44:00 | 只看该作者
运行宏或VB代码期间不能压缩打开的数据库。。。。。。
4#
发表于 2007-1-25 07:12:00 | 只看该作者
一定要每导入一个压缩一次,全部导完压缩不行?
5#
 楼主| 发表于 2007-1-25 18:29:00 | 只看该作者
由于数据每次处理后就会变得很大,比如压缩后有40M,压缩前500M,很快就会到2G,DAO得过程是

Public Sub qqqqq()
Dim rs As DAO.Recordset
Dim s1 As String

Set rs = CurrentDb.OpenRecordset("原始")
rs.MoveFirst
s1 = rs(1)
rs.MoveNext
Do Until rs.EOF
    If IsNull(rs(1)) Then
        rs.Edit
        rs(1) = s1
        rs.Update
    Else
        s1 = rs(1)
    End If
    rs.MoveNext
Loop
rs.Close
Set rs = Nothing
   
End Sub

可以优化吗?
6#
发表于 2007-1-26 04:18:00 | 只看该作者
幸亏我的文本数据文件没有楼主的大,我的文本文件是100个100K的。

全部导入计算后退出时压缩。
7#
 楼主| 发表于 2007-1-26 18:32:00 | 只看该作者
晕倒,100K就不用压缩了,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 09:25 , Processed in 0.098217 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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