PDA

View Full Version : سوال: عدم کاهش حجم بانک



M.T.P
چهارشنبه 23 تیر 1389, 13:21 عصر
با سلام. :قلب:
پس از حذف 4000 رکوردی که در جدول بانک اکسس وجود داشت و پاک کردن کل اطلاعات حجم فایل بانک تغییری نکرد و 1 مگابایت هست ! :متفکر:
چرا؟

bita_ziba77
چهارشنبه 23 تیر 1389, 14:06 عصر
با سلام. :قلب:
پس از حذف 4000 رکوردی که در جدول بانک اکسس وجود داشت و پاک کردن کل اطلاعات حجم فایل بانک تغییری نکرد و 1 مگابایت هست ! :متفکر:
چرا؟

با سلام
آيا عكسي در گزارشتان موجود مي باشد ؟( ممكن است عكس با خاصيت Send to back بوده و در گزارش يا فرمتان قابل نمايش نباشد)
در غير اين صورت فايل خود را Upload نماييد.

با تشكر

M.T.P
چهارشنبه 23 تیر 1389, 18:10 عصر
با سلام
دوست عزیز منظورتون عکس توی بانکه؟ نه .
من کلا 2 تا جدول تو این بانک ساختم که تمام رکورد هاش رو انتخاب و پاک کردم و بعد Save کردم، اما همچنان حجم بانک همونه.
بانک با اکسس 2003 هست.
حالا جالب اینجاست که اگه تا 4000 هزار تا رکورد رو وارد نکنم حجم بانک همونه و اگه بیشتر شه حجم بانک هم بیشتر میشه.

Sahand87
چهارشنبه 23 تیر 1389, 18:54 عصر
باسلام

گزینه Tools\Database Utilites\Compact and Repair Database را امتحان کن

M.T.P
پنج شنبه 24 تیر 1389, 10:29 صبح
باسلام

گزینه Tools\Database Utilites\Compact and Repair Database را امتحان کن

ممنون جواب داد. :قلب: :تشویق:
این دستور رو میشه با کد وارد کرد که از اکسس بی نیاز بشیم؟
زبان VB

bita_ziba77
پنج شنبه 24 تیر 1389, 11:42 صبح
ممنون جواب داد. :قلب: :تشویق:
این دستور رو میشه با کد وارد کرد که از اکسس بی نیاز بشیم؟
زبان VB

با سلام
شما مي توانيد در بخش مرتبط با Current Database تيك گزينه compact on close را بزنيد تا هر هنگام كه فايل اكسس شما بسته شود ، ديتابيس فشرده شده و حجم آن كم مي گردد.
مسير انجام:
(در اكسس 2007 ابتدا دكمه Office Button رافشرده و وارد Access option شود ، سپس از منوي Current Database تيك گزينه compact on close را بزنيد )

با تشكر

M.T.P
پنج شنبه 24 تیر 1389, 13:42 عصر
با سلام
شما مي توانيد در بخش مرتبط با Current Database تيك گزينه compact on close را بزنيد تا هر هنگام كه فايل اكسس شما بسته شود ، ديتابيس فشرده شده و حجم آن كم مي گردد.
مسير انجام:
(در اكسس 2007 ابتدا دكمه Office Button رافشرده و وارد Access option شود ، سپس از منوي Current Database تيك گزينه compact on close را بزنيد )

با تشكر

با تشکر
اما دوست عزیز این گزینه فقط واسه خود اکسس هست موقع خروج درست عمل میکنه اما وقتی با VB بانک رو cLOSE میکنم Compact نمیکنه. :ناراحت:

bita_ziba77
پنج شنبه 24 تیر 1389, 14:55 عصر
با تشکر
اما دوست عزیز این گزینه فقط واسه خود اکسس هست موقع خروج درست عمل میکنه اما وقتی با VB بانک رو cLOSE میکنم Compact نمیکنه. :ناراحت:

با سلام
به لينك زير مراجعه نماييد:

http://www.bigresource.com/VB-Compact-Access-database-from-VB-NET-code-CLtKEpFoR7.html
با تشكر

M.T.P
شنبه 26 تیر 1389, 11:23 صبح
دوستان نیاز به Compact and repair فقط مختص اکسس هست یا تو پایگاه sql هم همینطوره؟

amirzazadeh
شنبه 26 تیر 1389, 12:34 عصر
دوستان نیاز به Compact and repair فقط مختص اکسس هست یا تو پایگاه sql هم همینطوره؟
سلام
بله اين گزينه مختص به اكسس هست.
.............................
موفق باشيد

Hossein Bazyan
شنبه 26 تیر 1389, 13:12 عصر
ممنون جواب داد. :قلب: :تشویق:
این دستور رو میشه با کد وارد کرد که از اکسس بی نیاز بشیم؟
زبان VB
سلام
Access مثل فاکس پروی قدیم رکوردها رو فیزیکی پاک نمیکنه باید خودت آنها رو فیزیکی پاک کنید. مانند دستور Pack ( اگر درست یادم باشه ) در فاکس پرو
یک روش که دوستمون گفتند اما با کد نویسی هم میشه ( من اینکار رو با کدنویسی انجام میدم ) اما یادت باشه قبل از شروع بکار یه کپی از بانک بگیر و اگر عملیات موفقیت آمیز بود اونو پاک کن در غیر اینصورت بازنشانیش کن
اینهم تابعی که من برای اینکار نوشتم



Public Function PackDatabase(Byval strFmDB as String, Byval strToDb as String) As Boolean
Dim AC As New Interop.Access.ApplicationClass
Dim ret As Boolean = True
Try
AC.CompactRepair(strFmDB, strToDb)
ret = True
Catch ex As Exception
ret = False
End Try
Return ret
End Function