سلام دوستان
چه طوری میتونم توی تعریف کنیم ( توی یه کلید ) مثلا کلید درج اطلاعات که بعد از اضافه کردن رکورد برنامه رو
compace & repaire کنه .
یا فرق نمی کنه برای حذف و ... هم همین طور
ممنون ...
Printable View
سلام دوستان
چه طوری میتونم توی تعریف کنیم ( توی یه کلید ) مثلا کلید درج اطلاعات که بعد از اضافه کردن رکورد برنامه رو
compace & repaire کنه .
یا فرق نمی کنه برای حذف و ... هم همین طور
ممنون ...
این کار باعث پایین اومدن کیفیت برنامتون می شه
اگه دلیلشو بگین شاید راه حل بهتری بتونیم پیشنهاد بدیم
سلام
ممنون .
دلیل خاصی ندارم . فقط برای اینکه هر بار که عمل حذف و اضافه و ... انجام میشه برنامه رو فشرده کنه تا حجم برنامه با افزودن تعداد رکورد افزایش پیدا نکنه .
اگه میشه بگین دستوری که باید توی click مربوط به کلید رو بنویسم چیه ؟
موفق باشین
بهترین راه اونه که موقع خروج از برنامه compact انجام بشه چون خود compact شما رو از برنامه خارج می کنه حال فرض کنید بعد از هر بار اضافه یا حذف کردن بخواهید از برنامه خارج بشید چه وضعی پیش میاد .
دوست عزیز از راهنمایی هاتون ممنون
حالا اگه خواسته باشم که توی کلید خروج ( که از برنامه بطور کامل خارج میشه ) این عمل compact انجام بشه باید چی کار کنم ؟
یعنی من اصلا نمی دونم چه طوری باید به اکسس بفهمونم موقع فلان رویداد عمل کامپکت رو انجام بده .
اگه باید دستوراتش رو توی وی بی بنویسیم بی زحمت بگین دستورش چیه ؟
ممنون
نیازی به کلید ندارید
از این مسیر بروید
tools>options>general>compact on close
اینجا تیک بزنید
از این روش موقع طراحی استفاده کردم . آیا این روش باعث میشه که فقط کاربر داره از برنامه استفاده می کنه عمل فشرده سازی انجام بشه .
منظورتون رو نفهمیدم
منظورم اینه که من این گزینه رو فعال کردم .
آیا با این کار قضیه حله ؟
بله به شرطی که چند کاربره نباشه ( یعنی تحت شبکه )
سلام
فایلی جدید در اکسس ایجاد میکنیم بعد از مدتی که یک سری اطلاعات در داخل جداول آن میریزیم .
هنگامی که ما همه اطلاعات را از داخل جدولها پاک میکنیم متوجه میشویم که حجم فایل از حجم فایل خالی بیشتر است. همانطور که میدانیم علت این است که اطلاعات منطقا پاک شده
بنابراین به قسمت Tool->DataBase Utility->Compact and Repair میرویم و این گزینه را انتخاب میکنیم تا فضاهای بلااستفاده حذف شود
سوال 1- آیا مطالب بالا درست است
سوال 2- چطور این عمل را دیتابیس اتوماتیک انجام دهد
سوال1- بله درست است
Option Compare Database
'************************************************* **************
' CompactAndRepairDB (FUNCTION)
'
' PARAMETERS:
' sSource - Path to source database
' sDestination - Path for destination database
' sSecurity - Path to Jet system database if there is
' one
' sUser - The username if user level security is
' turned on
' sPassword - The password if user level security is
' turned on
' lDestinationVersion - If the destination database should
' not be in the latest version of Jet
' then use this variable to specify
' the version required; 1 = Jet 1.0,
' 2 = Jet 1.1, 3 = Jet 2.x,
' 4 = Jet 3.x, 5 = Jet 4.x etc
'
' RETURN VALUE:
' Boolean - Success indicator
'
' DESCRIPTION:
' This function uses the Microsoft Jet and Replication Objects
' Library (part of ADO) to compact and repair a Microsoft Access
' database. A project reference is required to the Microsoft Jet
' and Replication Objects Library.
'
' You may want to add error handling to this procedure, or to
' the function that calls it as the compact and repair may fail,
' for instance, if exclusive access cannot be gained to the
' source database.
'************************************************* **************
Public Function CompactAndRepairDB(sSource As String, _
sDestination As String, _
Optional sSecurity As String, _
Optional sUser As String = "Admin", _
Optional sPassword As String, _
Optional lDestinationVersion As Long) As Boolean
Dim sCompactPart1 As String
Dim sCompactPart2 As String
Dim oJet As JRO.JetEngine
' Put together the provider string for the source database
sCompactPart1 = "Provider=Microsoft.Jet.OLEDB.4.0" & _
";Data Source=" & sSource & _
";User Id=" & sUser & _
";Password=" & sPassword
' If the database has a user-level security file, add the
' details
If sSecurity <> "" Then
sCompactPart1 = sCompactPart1 & _
";Jet OLEDB:System database=" & sSecurity & ";"
End If
' Put together the provider string for the destination
' database
sCompactPart2 = "Provider=Microsoft.Jet.OLEDB.4.0" & _
";Data Source=" & sDestination
' The destination database will end up in the latest version
' of jet, unless a specific version has been requested;
' 1 = Jet 1.0, 2 = Jet 1.1, 3 = Jet 2.x, 4 = Jet 3.x,
' 5 = Jet 4.x etc
If lDestinationVersion <> 0 Then
sCompactPart2 = sCompactPart2 & _
";Jet OLEDB:Engine Type=" & lDestinationVersion
End If
' Compact and repair the database
Set oJet = New JRO.JetEngine
oJet.CompactDatabase sCompactPart1, sCompactPart2
Set oJet = Nothing
CompactAndRepairDB = True
End Function
CompactAndRepair
گزینه tools > option را انتخاب کنید. قسمت general را انتخاب کنید و گزینه compact on close را بیابید و تأیید کنید. این راه نیازی هم به کد نویسی ندارد.
ساده و مختصر:
[/QUOTE]
Public Sub CompactDB()
CommandBars("Menu Bar"). _
Controls("Tools"). _
Controls("Database utilities"). _
Controls("Compact and repair database..."). _
accDoDefaultAction
End Sub
با سلام اگر امکان دارد این رویه رابرای اکسس 2007 هم اعمال کنید در صورتیکه بخواهیم این رویه با کلیک یک دکمه انجام شود بازهم ممنون از شما اساتید
دوست عزیز با تشکر اما دکمه compacet ارور میدهد و از کد ایراد میگیرد
درسته.اررور میده
با سلام
احتمالاً شما در حالت Read only اجرا میکنید،فایل را Extract کنید مثلاً در Desktop بعد اجرا کنید،مشکلی نداره، چون در اصل منوی خود Access رو
بازخوانی میکنه
موفق باشید
دوست عزیز در اکسس 2007؟
به تصاویر زیر توجه کنید طبق فرمایش شما عمل کردم اما همچنان ارور دریافت میشود
ضمیمه 71563
ضمیمه 71564
با سلام با اینکه همچنان این ارور دریافت میشود ولی در حال حاضر سئوالم در مورد اجزای این فانکشن است ( اگر بخواهیم جایگزین کد بالا برای خلاصی از ارور دریافت شده بکنیم)
Function RepairDatabase(strSource As String, _
strDestination As String) As Boolean
' Input values: the paths and file names of
' the source and destination files.
' Trap for errors.
On Error GoTo error_handler
' Compact and repair the database. Use the return value of
' the CompactRepair method to determine if the file was
' successfully compacted.
RepairDatabase = _
Application.CompactRepair( _
LogFile:=True, _
SourceFile:=strSource, _
DestinationFile:=strDestination)
' Reset the error trap and exit the function.
On Error GoTo 0
Exit Function
' Return False if an error occurs.
error_handler:
RepairDatabase = False
End Function
معنی اجزای این فاکشن چیست یعنی در قسمت «strSource» ودرقسمت «strDestination» چه باید قرارداد
لازم به یادآوری هست که این فانکشن مربوط به خود اکسس میباشد و دراکسس 2010 میخواهم استفاده کنم
با تشکر