PDA

View Full Version : فشرده سازی و بازسازی بانک اکسس



hamedMohammad
چهارشنبه 26 فروردین 1388, 22:55 عصر
سلام به دوستان عزیز
سوال : روش فشرده سازی و بازسازی (Compact & Repair )بانک اکسس از داخل برنامه و با کد نویسی چگونه است؟ لطفا راهنمایی بفرمایید. متشکرم

Tasiyan
پنج شنبه 27 فروردین 1388, 08:01 صبح
از داخل برنامه اكسس : منوي Tools\Database Utilities\Compact and Repair Database
با كد نويسي رو نمي دونم!:اشتباه::متفکر:

BadSector
پنج شنبه 27 فروردین 1388, 10:04 صبح
از داخل برنامه اكسس : منوي Tools\Database Utilities\Compact and Repair Database
با كد نويسي رو نمي دونم!:اشتباه::متفکر:

توی آفیس 2007 از کجا باید بریم ؟

Tasiyan
پنج شنبه 27 فروردین 1388, 10:10 صبح
توی آفیس 2007 از کجا باید بریم ؟
با عرض پوذش 2007 رو سيستمم نصب نيست :ناراحت:

reza_mn
پنج شنبه 27 فروردین 1388, 13:17 عصر
در 2007 بعد از اینکه دیتابیستون رو باز کردین روی office Button ( همون دایره سمت چپ ) کلیک کنید و Manage و سپس Compact and Repair.
ولی اینکه با کد نویسی رو شرمنده اطلاعی ندارم.

pernia
جمعه 28 فروردین 1388, 07:19 صبح
روش های متعددی هست..
دو روش رو من میزارم:
اول به وسیله JRO


Public Sub CompactAndRepairJRO()
' PROCEDURE : CompactDB
' DESCRIPTION :
' RETURN VALUE: true or false depending wether there were errors or not
' NOTE :
' Add "Microsoft Jet and Replication Objects 2.x Library" to
' the references of your project
' EXAMPLE :
On Error GoTo ErrH
Dim CONN As New JRO.JetEngine
Dim ConnstringSorg As String, ConnstringDest As String

closealldatabases
' Ensure file is not read only
'SetAttr pFileName, vbNormal
ConnstringSorg = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
"C:\res\ax1.mdb" & ";User ID=admin;Password=a;"
ConnstringDest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
"C:\res\temp_ax1.mdb" & ";Jet OLEDB:Engine Type=5;"

Screen.MousePointer = vbHourglass
CONN.CompactDatabase ConnstringSorg, ConnstringDest
Screen.MousePointer = vbDefault

'Copia il file compattato.
Kill "C:\ax1.mdb"
'FileCopy App.Path & "\Temp.mdb", pFileName
Name "C:\res\temp_ax1.mdb" As "C:\res\ax1.mdb"


Set CONN = Nothing
SetDBVars
Exit Sub
ErrH:
Screen.MousePointer = vbDefault
Debug.Print Err.Description
End Sub


دوم:به وسیله خود DAO مایکروسافت


Public Sub CompactRepair()
On Error GoTo MyError
closealldatabases
DoEvents

Call DBEngine.CompactDatabase("C:\res\x1.mdb", "C:\res\x1_cr.mdb", dbLangGeneral, , "")
DoEvents
Kill "C:\res\x1.mdb"
DoEvents
Name "C:\res\x1_cr.mdb" As "C:\res\x1.mdb"

Call DBEngine.CompactDatabase("C:\res\x2.mdb", "C:\res\x2_cr.mdb", dbLangGeneral, , "")
DoEvents
Kill "C:\res\x2.mdb"
DoEvents
Name "C:\res\x2_cr.mdb" As "C:\res\x2.mdb"

DoEvents
SetDBVars
DoEvents
Exit Sub
MyError:
MsgBox Err.Number & " - " & Err.Description, vbOKOnly
End Sub