ورود

View Full Version : سوال: کم حجم سازی دیتابیس با اکسپرت فیلد اتچمنت وتبدیل آن به hyperlink



ahmadrezaahmad
شنبه 29 تیر 1392, 13:28 عصر
سلام
من تاپیک های مربوط به اکسپرت گرفتن از فیلد اتچمنت رو مطالعه کردم،ولی خب جای خالی یک تاپیک که بای یک جمع بندی خوبی کار با فیلد اتچمنت رو حل کنه احساس می شه:
شرح مشکل:
مشکل این جاست اگر دیتا بیس شما شامل تعداد متنابهی فیلد اتچمنت باشد و شما سامان مناسبی به این موضوع ندهی بعد از مدتی حچم فایل دیتا بیس شما به خاطر ذخیره اتچمنت ها درون خودش وحشتناک زیاد می شود و حتی ممکن است کل دیتابیس آسیب ببنید و بالا نیاید!

از طرف دیگر فرض کنید روال ثبت رکورد های دیتا بیس شما به گونه ایست که فایل دیتا بیس را به افراد مختلف می دهید و کاربران از طریق واسط گرافیکی یک فرم فیلد های اتچمنت را نیز پر می کنند!
حالا که شما جدولی دارید پر از رکورد ها که پر است از فیلد اتچمنت باید تدبیری بیاندیشید که این اتچمنت ها برای هر رکورد در فولدری جدا بر حسب مشخصه اصلی آنر رکورد که توسط کاربر پرمی شود(مثلا نام پروژه)با سابفولدر نام فیلد اتچمنت (مثلا پیوست قراداد،گانت چارت) ذخیره شود.

در ادامه باید تدبیری اندیشده شود تا هروقوت خواستی از طریق فایل اکسس نیز به آن دسترسی داشته باشی مثلا هایپر لینکی ایجاد شود که با کلیک روی آن به فیلد مورد نظر رکورد مورد نظر برسیم!!

شرح فایل پیوست: مثالی زده شده که جدولی قبل از ویرایش وجود دارد tbl_project شامل محتوا آیدی،نام پروژه،قرارداد ،گانت چارت و ...
فرمی وجود دارد که با زدن کلید "Export attach field,then Delet attach field,then replace hyper link" عمل سیو کردن اتچمنت های هر پروژه در فولدری با نام پروژه و در درون آن هر اتچمنت در فولدری با نام فیلد خودش می سازد:مثلا قراداد پروژه A در فولدر A/contract قرار می گیرد!!!!
و در نهایت جدولی می سازد که هایپر لینک جدید فایل ها سیو شده اتچمنت ها را در داخل اکسس نگه می دارد!(tbl_project_after edit)

بی نهایت ممنون می شوم اگه کمک کنیم کد کلید فرم اکسپرت گیری را بزنیم!
این شاید کمک کند به دوستانی که لطف می کنند و می خواهند کمک کنند!!
http://www.accessforums.net/import-export-data/how-i-exported-attachment-fields-data-folder-25651.html

ahmadrezaahmad
سه شنبه 01 مرداد 1392, 16:11 عصر
کسی کمکی نمی کنه:ناراحت:

mhkavian
سه شنبه 01 مرداد 1392, 18:41 عصر
فیلد های پیوست یا همان Attachment Fields که از نسخه 2007 به اکسس اضافه شد مزایا و معایب مخصوص به خود را دارد .

از مهمترین مزایا می توان به یکپارچه سازی و مدیریت اسناد مربوط به رکورد های اطلاعاتی اشاره نمود که از سرعت بالای آن و فشرده سازی فایلها قبل از ذخیره سازی در پایگاه داده نسبت به نوع فیلد OLE نام برد .

اما با توجه به پابرجا بودن محدودیت حجمی ( 2GB ) در فایلهای اکسس حتی در نسخه 2010 این نوع فیلد نیز برای اطلاعات حجیم امروزه مناسب نمی باشد مگر در پایگاه های داده کوچک !!

به هر حال مواقعی وجود دارد که طراح پایگاه داده از این فیلد استفاده می کند و به مرور زمان و با افزایش حجم پایگاه داده و سنگین شدن آن خطر از بین رفتن همه اطلاعات اعم از رکورد های اطلاعاتی و فایلهای ذخیره شده با خراب شدن فایل افزایش می یابد .

در اینگونه موارد بهترین روش استخراج فایلها از درون فایل اکسس و ذخیره سازی آنها در پوشه های مناسب و در عوض ایجاد یک فیلد از نوع hyperlink است که شامل لینک فایلهای استخراج شده است .

فایل ارائه شده در آدرس زیر حاوی فرمی است که می توان با استفاده از آن عملیات استخراج فایلها و ایجاد فیلد هایپرلینک را به صورت اتوماتیک برای کلیه رکورد ها با فشردن یک دکمه انجام داد و پایگاه داده را از خطر خرابی نجات داد .

http://www.mantis.ir/media/k2/items/cache/83c2446a0896df0a1f4af01c940ae1d9_XL.jpg

نحوه استفاده از این فرم :

1- ابتدا جدول دارای فیلد Attachment ، از مجموعه جداول پایگاه داده انتخاب می گردد

2- با انتخاب جدول در جعبه ترکیبی ( Combo Box ) بعدی ، نام فیلدهایی که نوع آنها Attachment است ، لیست می شود که بایستی یکی از آنها انتخاب گردد.

3- با توجه به اینکه ممکن است نام فایلهای درون رکورد های مختلف ، تکراری باشد بایستی فایلهای هر رکورد ، در یک پوشه مجزا ذخیره گردد . لذا در این مرحله نام یک فیلد که رکورد های آن منحصر به فرد می باشند ، مشخص می گردد تا برای نام گذاری پوشه ها از این فیلد استفاده شود .

4- در این قسمت نیاز به نام فیلدی است که لینک های تولید شده از فایلهای استخراج شده در آن ذخیره شود . در صورتی که این فیلد را از قبل ایجاد شده باشد ، آنرا را از جعبه ترکیبی انتخاب و در صورتی عدم وجود این فیلد یک نام بایستی تنها یک نام برای آن تعیین شود . ( البته یک نام پیشنهادی توسط سیستم تنظیم می شود که می توان آن را تغییر داد . )

5- در این قسمت آدرسی که بایستی فایلها در آن ذخیره شود ، تنظیم می شود . ( لازم به ذکر است که با توجه به اینکه این آدرس در کلیه لینک های ایجاد شده ذخیره می گردد ، بهتر است به درستی انتخاب شود و قبل از حذف فیلد Attachment بایستی تصمیم نهایی در مورد آن گرفته شود . البته در صورت عدم انتقال فایل در آینده پوشه پیشنهادی که در کنار فایل اصلی ایت بهترین انتخاب می باشد . )

6- با فشردن این دکمه این عملیات به طور اتوماتیک و به راحتی انجام می گردد .

نکته مهم :

پس از انجام عملیات و خروج از فرم دو عملیات دیگر بایستی به صورت دستی انجام شود :

1- تغییر نوع فیلد های هایپر لینک ایجاد شده از Memo به HyperLink

2- حذف فیلد های Attachment در صورت لزوم ( بهتر است اینکار به طور اتوماتیک انجام نشود و پس از اطمینان کامل از صحت کمی و کیفی فایل های استخراج شده این اقدام به صورت دستی انجام شود . )


این فایل را می توانید از اینجا دانلود (http://www.mantis.ir/access-knowledge/access-programs/access-add-ins/item/60)کنید


پیروز و سربلند

کاویان