PDA

View Full Version : مشکل با اکسس در دات نت



Hossein Bazyan
دوشنبه 27 خرداد 1387, 16:39 عصر
سلام
نمیدانم این سوال مربوط به این تاپیک میشه یا تاپیک اکسس ولی به نظرم اینجا هم میشه مطرحش کرد.

من برنامه ای نوشته ام که دیتابیس آن اکسس است . پس از ساخت دیتابیس طبیعتا خالی بوده و فایل مربوطه سایز خیلی کمی داره . حال من تعدادی رکورد در بانک ذخیره میکنم ، طبیعتا یابد سایز فایل بالا بره که بالا هم میره اما مشکل اینجاس که با حذف رکوردها از فایل سایز فایل کم نمیشه یعنی سایز فایل همیشه سیر صعودی داره ( هم در اضافه و هم در حذف ) آیا راه حلی دوستان به نظرشون میرسه ؟
من هنوز برنامه را تحویل نداده ام و بانک خالیه اما 56 مگابایت ظرفیت داره !!! البته میتوانم یه دیتابیس خالی بسازم برای تحول اما با هر بار حذف رکورد بانک دواره ساخته بشه !

mazoolagh
دوشنبه 27 خرداد 1387, 23:49 عصر
برای ورژنهای غیر از 2007 روشهایی هست که توسط برنامه (یعنی غیر از محیط اکسس) دیتابیس رو compact & repair کنین.
برای پیدا کردن نمونه کد jro.jetengine رو گوگل کنین.

ali_habibi1384
سه شنبه 28 خرداد 1387, 07:09 صبح
دلیل:
اکسس برای اینکه رکوردی رو حذف کنه برای اون flag می زاره ولی اونو حذف فیزیکی نمیکه.

Hossein Bazyan
سه شنبه 28 خرداد 1387, 11:50 صبح
دلیل:
اکسس برای اینکه رکوردی رو حذف کنه برای اون flag می زاره ولی اونو حذف فیزیکی نمیکه.
سلام
حالا بخوایم حذف فیزیکی کنیم چکار باید کرد. در ضمن دیتابیس من با اکسس هست ولی برنامه با وی بی دات نت آیا در وی بی هم راهی برای این کار نیست . در فاکس پرو تحت داس داشتیم که حذف فیزیکی میکرد. آیا وی بی راهی نداره ؟

Hossein Bazyan
پنج شنبه 30 خرداد 1387, 00:09 صبح
سلام
من راهش رو پيدا كردم


Dim AC As New Interop.Access.ApplicationClass
Dim strFmDB As String = DatabasePath & "DBName1.mdb"
Dim strToDb As String = DatabasePath & "DBName2.mdb"
AC.CompactRepair(strFmDB, strToDb)

ركوردهاي فايل DBName1.mdb حذف فيزيكي ميكنه و در فايل DBName2.mdb مينويسه