仍然是压缩mdb文件的问题

shawls 2002-05-27 08:04:18

使用ado2.5的版本!

如何压缩

参考:

http://www.csdn.net/expert/topic/530/530394.xml?temp=.7059595


一下代码问题在于不支持长文件名,转化以后也不行,请大家给出更好的方法,这个是使用odbc的东西!

代码:


不支持长文件名


Option Explicit
'********************************************************************
Const ODBC_ADD_DSN = 1 ' Add data source
Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
Const ODBC_REMOVE_DSN = 3 ' Remove data source

#If Win32 Then

Private Declare Function SQLCONFIGDATASOURCE Lib "odbccp32.dll" Alias "SQLConfigDataSource" _
(ByVal hWndParent&, _
ByVal fRequest%, _
ByVal lpszDriver$, _
ByVal lpszAttributes$) As Boolean

#ElseIf Win16 Then

Private Declare Function SQLCONFIGDATASOURCE Lib "odbcinst.dll" _
(ByVal hWndParent%, _
ByVal fRequest%, _
ByVal lpszDriver$, _
ByVal lpszAttributes$) As Boolean
#End If

Public Sub CompactDb(ByVal strfrom As String, ByVal strto As String)
Dim dbDriver As String
Dim dbAttributes As String
Dim result As Boolean

#If Win32 Then
Let dbDriver = "Microsoft Access Driver (*.mdb)"
#ElseIf Win16 Then
Let dbDriver = "Access Files (*.mdb)"
#End If

Let dbAttributes = "COMPACT_DB=" & strfrom & " " & strto & Chr$(0) _
& "UID=admin" & Chr$(0) _
& "PWD=xxx"

result = SQLCONFIGDATASOURCE(0, ODBC_CONFIG_DSN, dbDriver, dbAttributes)
If (False = result) Then
MsgBox "Establishing DSN failed! Error: " & result
End If

End Sub
...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shawls 2002-05-29
  • 打赏
  • 举报
回复
没有人回答么?
shawls 2002-05-27
  • 打赏
  • 举报
回复


情不要使用额外的东西,(系统自带除外!)




我是小山,我喜欢VB,现在在学习C#和.net的相关知识

欢迎您使用: SourceCode Explorer(源代码数据库)
当前版本: 1.0.690
作者: Shawls
来自: Http://www.dapha.net
个人主页: Http://Shawls.Yeah.Net
E-Mail: ShawFile@163.Net
QQ: 9181729
ASSASSIN_GEN 2002-05-27
  • 打赏
  • 举报
回复
使用JRO(工程菜单->引用->Microsoft jet and replication objects 2.5)
JRO jetengine对象用一个CompactDatabase方法可以压缩数据库。
下面是一个使用CompactDatabase压缩数据库的例子:
strConnOriginal = "Prvider = Microsoft.jet.oledb.4.0;Data Source = FilePath;" '源数据库
strConnNew = "Microsoft.jet.oledb.4.0;Data Source = FilePath;" '压缩后数据库
set jroEngine = New JRO.JetEngine
jroEngine.CompactDatabase strConnOriginal,strConnNew
shawls 2002-05-27
  • 打赏
  • 举报
回复
对不起!我是用ado2.5的版本,这个限制了,不然,用dao,adox都可以得,如果是api(odbc等)也请帖出来
如果有sqlconfig这个api的资料,也请帖出来
谢谢


我是小山,我喜欢VB,现在在学习C#和.net的相关知识

欢迎您使用: SourceCode Explorer(源代码数据库)
当前版本: 1.0.690
作者: Shawls
来自: Http://www.dapha.net
个人主页: Http://Shawls.Yeah.Net
E-Mail: ShawFile@163.Net
QQ: 9181729
wenw 2002-05-27
  • 打赏
  • 举报
回复
你可以这样,将ADO方式打开的库关闭后,使用DAO方式打开并进行压缩就可以了,注意,ACCESS2000和ACCESS97和库用的DAO引擎版本是不同的。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧