2013-10-15 51 views
0

我目前正在寻找压缩和修复我的mdb文件(虽然我关闭我的信息表单,使用下面的代码连接到mdb文件)。我目前使用下面提到的连接参数。如果有人在这种情况下如何实现这一点,这将是非常有帮助的。 JavaScript功能:如何使用JavaScript代码压缩和修复Access MDB文件?

function GetConnection(){ 
_dbConn = new ActiveXObject("ADODB.Connection"); 
var databaseName = "test.mdb"; 
var strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=xxxx;DataSource=c:\\test\\" + databaseName; 
_dbConn.Open(strConn); 
return _dbConn; 
} 

感谢您的帮助!谢谢!

回答

1

只有Access.Application和DAO.DBEngine可以压缩数据块

Sub CompactDatabase(SrcName As String, DstName As String, [DstLocale], [Options], [SrcLocale]) 
    Member of DAO.DBEngine 

Function CompactRepair(SourceFile As String, DestinationFile As String, [LogFile As Boolean = False]) As Boolean 
    Member of Access.Application 

所以尽量some​​think这样的:

var Access; 
var fso; 

fso = new ActiveXObject("Scripting.FileSystemObject") 
Access = new ActiveXObject("Access.Application"); 

fso.DeleteFile("c:\test\campactAndrepared.mdb", true); 
Access.CompactRepair("c:\test\test.mdb", "c:\test\campactAndrepared.mdb", LogFile) 

fso.DeleteFile("c:\test\test.bak", true); 
fso.MoveFile "c:\test\test.mdb" , "c:\test\test.bak" 

fso.DeleteFile("c:\test\test.mdb", true); 
fso.MoveFile "c:\test\campactAndrepared.mdb" , "c:\test\test.mdb" 
+0

谢谢你的答复。但是,当我尝试上面的代码,我得到一个错误,说“自动化服务器不能创建对象”。你能否让我知道为什么会发生这种情况? – Sudhar

+0

哪一行会导致错误? – 4dmonster

+0

这个问题是因为我一直在使用的环境。我使用Infopath作为我的前端和JS来创建连接。我仍在研究这个问题。 – Sudhar