导航

« sql2005中的示例数据库NorthWind和Pubs 下载具有促进消化的食物  »

vb.net(2008)压缩修复Access(2000-2003)代码

虚位以待 VB.NET

 vb.net(2008)压缩修复Access(2000-2003)代码如下,Access在存储图片方面有点点问题,一张小图片也会占用很大的容量,这可能也存储方式有关,目前calf用的是rtf直接存取,不过这不是本文的重点。Access在删除了里面的数据后,容量并不会自动释放,Access软件本身自带有压缩修复功能,那怎么能在vb.net中用代码实现呢?下面这个过程可以参考下:


 
折叠ASP/Visual Basic Code复制内容到剪贴板
  1. Public Sub RepairAccess()   
  2.     'Call msgInfo("正在修复压缩...", "")   
  3.     Dim objJRO As Object = Activator.CreateInstance(Type.GetTypeFromProgID("JRO.JetEngine"))   
  4.   
  5.     objJRO.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\data2003.mdb""Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\data2004.mdb")   
  6.   
  7.     Kill(Application.StartupPath & "\data2003.mdb")   
  8.     objJRO.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\data2004.mdb""Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\data2003.mdb")   
  9.     Kill(Application.StartupPath & "\data2004.mdb")   
  10.     Call msgInfo("压缩成功!目前:", dataVolume)   
  11.     'objJRO.CompactDatabase(ConnStr, ConnStr)   
  12.     'Kill(Application.StartupPath & "\data2003.bak")   
  13.     'objJRO.CompactDatabase("Data Source=.\DATA\BZJsjk.DLL;Jet OLEDB:Database Password=(.LSY810404zhxy.)", "Data Source=.\DATA\BZJsjk.bak;Jet OLEDB:Database Password=514892")   
  14.     'Kill(Application.StartupPath & "\DATA\BZJsjk.dll")   
  15.     'objJRO.CompactDatabase("Data Source=.\DATA\BZJsjk.bak;Jet OLEDB:Database Password=(.LSY810404zhxy.)", "Data Source=.\DATA\BZJsjk.DLL;Jet OLEDB:Database Password=514892")   
  16.     'Kill(Application.StartupPath & "\DATA\BZJsjk.bak")   
  17. End Sub  
  • 顶一下
虚位以待




原创文章如转载,请注明:转载自落日故乡

本文链接地址:http://www.spersky.com/post/vbCompactAccess.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

内容搜索


虚位以待

常用链接

最新评论及回复

Powered By Z-Blog

Copyright spersky All Rights Reserved.Theme Moonlight,Calf modified.n 浙ICP备16017820号-1