| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 936 人关注过本帖, 1 人收藏
标题:VB6 如何压缩access2007?
只看楼主 加入收藏
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
结帖率:85.71%
收藏(1)
已结贴  问题点数:20 回复次数:8 
VB6 如何压缩access2007?
VB6 如何压缩access2007? 我胡数据很大,每次手动太麻烦。请大家指点!
搜索更多相关主题的帖子: 数据 如何 
2012-03-02 03:55
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 楼主 yuk_yu
期待大师的解答!
2012-03-02 11:18
mayuebo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:257
专家分:1282
注 册:2005-9-8
收藏
得分:10 
调用ADO对象的CompactDatabase 方法

成功贵在坚持
2012-03-03 11:07
renyue_1983
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2012-3-8
收藏
得分:10 
学习来的。谢谢
2012-03-09 12:41
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 3楼 mayuebo
你好,可以给个实例吗?谢谢
2012-03-11 12:43
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 5楼 yuk_yu
为何运行到 Location, strTempFile就不行呢?

Public Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Public Const MAX_PATH = 260

Public Sub CompactJetDatabase(Location As String, Optional BackupOriginal As Boolean = True)

   ' On Error GoTo CompactErr

    Dim strBackupFile As String

    Dim strTempFile As String

    '检查数据库文件是否存在

    If Len(Dir(Location)) Then

        '如果需要备份就执行备份

        If BackupOriginal = True Then

            strBackupFile = GetTemporaryPath & "backup.accdb"

            If Len(Dir(strBackupFile)) Then Kill strBackupFile

            FileCopy Location, strBackupFile

        End If

        '创建临时文件名

        strTempFile = GetTemporaryPath & "temp.accdb"

        If Len(Dir(strTempFile)) Then Kill strTempFile

        '通过DBEngine压缩数据库文件

         Location, strTempFile

        '删除原来的数据库文件

        Kill Location

        '拷贝刚刚压缩过临时数据库文件至原来位置

        FileCopy strTempFile, Location


        '删除临时文件

        Kill strTempFile

    Else

    End If

'CompactErr:

   ' Exit Sub

End Sub

Public Function GetTemporaryPath()

    Dim strFolder As String

    Dim lngResult As Long

    strFolder = String(MAX_PATH, 0)

    lngResult = GetTempPath(MAX_PATH, strFolder)

    If lngResult <> 0 Then

        GetTemporaryPath = Left(strFolder, InStr(strFolder, Chr(0)) - 1)

    Else

        GetTemporaryPath = ""

    End If

End Function

[ 本帖最后由 yuk_yu 于 2012-3-12 18:39 编辑 ]
2012-03-12 18:37
yuk_yu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:334
专家分:134
注 册:2009-3-16
收藏
得分:0 
回复 6楼 yuk_yu
各位,可以指导下或给个实例吗?谢谢
2012-03-13 22:07
dboyxu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-3-14
收藏
得分:0 
新手来学习
2012-03-14 13:39
linjq526
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-9-17
收藏
得分:0 
Private Sub CompactDb(DbPath As String, DbName As String)
On Error GoTo exit_sub
    Dim oPath As String
    Dim tPath As String
    oPath = DbPath & DbName & ".accdb"
    tPath = DbPath & "tmp.accdb"
    If Dir(oPath) = "" Then
        Exit Sub
    End If
    oPath, tPath
    Kill oPath
    Name tPath As oPath

exit_sub:

End Sub
2018-11-14 08:40
快速回复:VB6 如何压缩access2007?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015492 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved