PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چگونگي ذخيره ساختن برنامه هاي كاربردي همچون فايل هاي .mde



TAHA
11-22-2009, 08:12 PM
چگونگي ذخيره ساختن برنامه هاي كاربردي همچون فايل هاي .mde

منبع : از مجله رايانه شماره 140


كاربري داراي چندين برنامه كاربردي Access 2000 ، شامل كد Visual Basic است كه مي خواهد آنها را به صورت فايل هاي mde، ذخيره نمايد، وي با كليك كردن Tools، Database Utilities، فايل Make MDE و .... ، امكاني كه برنامه هاي كاربردي را در اين فرمت ذخيره مي كند، مي يابد. ذخيره يك برنامه كاربردي همانند فايل .mde يعني اينكه كاربر نمي تواند روشي را كه برنامه كاربردي كار مي كند، تغيير دهد. داده ها مي توانند طبق معمول وارد، حذف، مرتب و پرس و جوشوند، اما كد مورد نظر قابل ديدن، Tweak شدن و يا حذف شدن نيست، چرا كه در اين صورت از كار خود باز مي ماند. ايجاد يك فايل .mde هر ماجولي را كامپال مي كند، هر سورس كد قابل ويرايشي راحذف مي كند و بانك اطلاعاتي كامل را براي حذف فضاهاي اضافي فشرده سازي مي نمايد. محدوديت هاي ديگري نيز بكار مي رود: كاربران اجازه مشاهده و ويرايش ويا ايجاد فرم ها،گزارشات يا ماجول ها را در مد Design ندارند و نمي توانند فرم ها،گزارشات و ماجول ها را وارد يا صادر كنند. بهر حال، جدول ها، پرس و جوها، صفحات دسترسي به داده ها و ماكروها را مي توان به يك فايل غير .mde وارد و يا صادر كرد و همچنين مي توانيد اين مولفه ها را به بانك اطلاعاتي Access وارد نمائيد.
امكان باز گرداند فايل .mde به فرمت .mdb وجود ندارد،بنابراين نگاه داشتن يك كپي از بانك اطلاعاتي اصلي بسيار حائز اهميت است تا بتواند همانند code-writer، طراحي برنامهكاربردي را اصلاح نمائيد هنگاميكه تغييرات صورت مي گيرد، يك كپي بگيريد و سپس فايل جديد .mde را ايجاد كنيد.
شرايط خاصي وجود دارد كه مانع ذخيره شدن برنامه كاربردي در فرمت .mde مي گردد براي مثال، در يك بانك اطلاعاتي تكثير شده ابتدا لازم است جداول سيستم تكثير و خصوصيات حذف شوند و اگر بانك اطلاعاتي به بانك اطلاعاتي ديگر و يك افزودني ارجاع داشته باشد، آنها نيز بايد به صورت فايل هاي .mde ذخيره شوند. بعلاوه، اگر تنظيمات امنيتي user-level براي بانك اطلاعاتي بكار مي رود، لازم است كنترل كنيد كه اين تنظيمات از معيار هاي مختلفي كه در سيستم Help خلاصه شده اند برخوردار باشند( در Answer wizar ،"MDE file" را تايپ كنيد و Option،"Work with MDE file" را بازرسي نمائيد.) همچنين براي دسترسي به كدVB، به كلمه عبور نياز خواهد داشت .
DOS همچنان كاربرد داردDOS داراي يك فرمانقديمي بنام DIR است كه مي توان با استفاده از آن ليستياز فايل هاي jpg. راكه در ديسك ذخيره شده اند، ايجاد نمود و نتيجه را همانند يك فايل متني ذخيره كرد/. فرمان اينگون است :


DIR*.JPG /S /B > P E N G U I N . T X T


اين فرمان( با استفاده از فرمانDIR) تمام jpg.ها(*.JPG) را در فلدرها ( با استفاده از سوئيچ/S) ليست مي كند و نام كامل فايل ها را(سوئيچ/B) نشان داده و نتيجه را در يك فايل متني به نام PENGUIN ذخيره(> ) مي نمايد. سپس اين فايل متني به جدول Access وارد مي شود و ليستي از فايل هاي .jpg را ارائه مي دهد.
اگر نام مسيرها را به طور كامل بيابيد، ارزشش را دارد كه فرمان DOS را همانند يك فايل دستهاي ذخيره نمائيد. يك فايل دسته اي، مجموعه هاي ذخيره شده( يا دسته اي ) از فرمان هاي dos است كه به كرات همانند برنامه كوچك اجرا مي شوند. فايل هاي دسته اي با استفاده از ويرايشگر منتخب شما(Word يا Notepad) ايجاد مي شوند.
درهر خط، فرمان را درست همانگونه كه درپنجره فرمان DOS تايپ مي شوند، تايپ نماييد. فايل دسته اي ما شامل فرمان بالا مي باشد كه در سندWord تايپ شده است: فايل را ذخيره كنيد، نوع فايل را طوري تنظيم كنيد تا متن ساده (txt.) باشد، در name-FINDJPG تايپ كنيدو پسوند فايل را از .txt به .bat تغيير دهيد. هر فايل با پسوند .bat به جاي اينكه دو بار كليك كردن بر روي آن باز شود، همانند فايل برنامه رفتار مي شود و اجرا مي گردد.
Word ، ديالوگي را نشان مي دهد كه اخطار مي كند با ذخيره شدن فايل تما مFormatting، تصاوير و غيره از بين مي رود و اين چيزي است كه ما از فرمت ساده متن انتظار داريم. شما مي توانيد تنظيم (پيش فرض ) رمز گذاري متن ويندوز را بپذيريد يا آن را به MS-DOS تغيير دهيد.
روي OK كليك كرده و فايل دسته اي شما كامل مي شود. دو بار كليك كرده و فايل دسته اي شما كامل مي شود. دو بار كليك كردن بر روي نام فايل از Explorer يا قرار دادن يك ميانبر به فايل در Desktop نتيجه بسيار سريعتري نسبت به هر بار اجرا كردن از كادر DOS دارد. مهارت هاي قديمي DOS حتي امروز نيز سودمند و قابل استفاده هستند.

مرتب كردن
يك كاربر داراي جدولي است كه CD هاي او را با فيلدهايي همچون Artist،Title، Lable و غيره ليست مي كند. وي همچنين فيلد AutoNumber را كه شامل عدد مخصوص هر CD است به اين جدول افزوده است.
اين كاربر داده ها را مرتب مي كند، داده ها به ترتيبي هستند كه وارد شده اند. او با استفاده از ويزارد گزارش تازه اي تهيه كرده است تا ليست عنوان بندي شده اي از CD ايجاد كند تا ID مخصوص، هنرمند و عنوان آن را با استفاده از تنظيمات پيش فرض نشان دهد. آنچه باعث سردر گمي اين كاربر شده، اين است كه گزارش مذكور ركوردها را به اين صورت ليست مي كند:66-48و113-67و47-5و3-1
علت اين است كه موتورهاي بانك اطلاعاتي همچون Access توجهي به ترتيب سطرها در جدول ندارد. آنها اهميتي به ترتيب نمي دهند مگر آنكه شما، دستورالعمل هاي مشخصي به آنها بدهيد تا متوجه آن شوند. اين مسئله كه كه بانك هاي اطلاعاتي به ترتيب سطرها اهميت نمي دهند، به سرعت سوالاتي را در ذهن به وجود مي آورد. اما، سطرها نهايتا بايد در ترتيب خاصي قرار بگيرند، بنابراين چه چيزي اين ترتيب را مشخص مي كند و چرا ثابت نيست؟ پاسخ اينست كه بخش بهينه ساز پرس و جوي موتور بانك اطلاعاتي كاملا نسبت به ترتيب قرار گرفتن بي توجه است، اما بسيار به سرعت علاقه دارد. بنابراين سعي مي كند سريع ترين راه را براي پاسخ به پرس و جوي شمابيابد و ترتيب قرار گرفتن سطرها نتيجه اين تصميم گيري است.
براي مثال حتي زمانيكه شما جدولي را باز مي كنيد، در حقيقت در حال اجراي يك پرس و جوي هستيد. اين پرس و جو كاملا توسط رابط كاربر پنهان مي شود، زمانيكه شما به روي جدولي به نام CDs در پنجره Access Database دو بار كليك مي كند عبارت SQL: SELECT * from CDs اجرا مي شود و تمام ركوردهاي موجود در جدولي به نام CDs را باز مي گرداند . عبارت SQL به بخش بهينه ساز پرس و جوي موتور بانك اطلاعاتي فرستاده مي شود‍; و بهينه ساز سريعترين راه را براي پاسخ تعيين مي كند. در مورد"SELECT * from CDs"، سريعترين راه احتمالاروش معروف" خواندن متوالي" جدول خواهد بود. اين خواندن از ابتداي جدول آغاز مي شود و تا به آخر خوانده مي شود و داده ا را نشان مي دهد. احتمالا ركوردهادر جدولي با فيلد AutoNumber، به ترتيب AutoNumber در ديسك قرار مي گيرند، بنابراين داده ها از طريق بهينه ساز پرس وجو به همان ترتيب باز مي گردند. تا زمانيكه هيچ روش مرتب سازي ديگر استفاده نشود، هر زمان كه جدول بازرسي مي شود، همين ترتيب مجددا روي دهد، زيرا بهينه ساز هميشه يك نتيجه گيري از سريع ترين روش نمايش داده ها دارد. بهر حال، هيچ تضميني وجود ندارد كه اگر در روش پرسيدن سوال حتي كوچكترين تغييري روي دهد پاسخ به همين ترتيب باز گردانده شود . مثلا اگر گزارشي تهيه مي كنيد تا تمام ركوردها را نشان دهد(حتي اگر انتظار داشته باشيد دقيقا همان مجموعه ركوردهايي را ببيند كه زمان باز كردن جدول مي ديديد)، بهينه ساز پرس و جو ممكن است روش مطلوب ديگري براي باز كردن يك پاسخ سريع داشته باشد. اكثر ركوردها به ترتيب AutoNumberمرتب مي شوند، اما با استثناءهايي عجيب و غريب. اين خود يك مشكل بالقوه محسوب مي شود: بشر نظم و ترتيب را دوست دارد و همچنين مي خواهد اين نظم و ترتيب ثابت باشد. پاسخ در دست گرفتن كنترل است. هر زمان كه به نظم و ترتيب اهميت مي دهيد، مطمئن باشيد كه موتور بانك اطلاعاتي دقيقا آنچه را كه مي خواهيد انجام مي دهد. و اين يعني ساختن پرس و جويي كه ترتيب را مشخص مي كند و StoredbyCDID خوانده مي شود.
حال وقتيكه گزارشي رامي نويسيد، آن رابر پايه اين پرس وجو قرار مي دهيد تا بر پايه خود جدول و ترتيبي كه شما مشخص مي كنيد به گزارش منتقل مي شود و ثابت بودن آن تضمين مي گردد.
بعلاوه مي توانيد پرس وجوي ديگري بسازيد تاCD ها را بر اساس عنوان آنها به ترتيب الفبا مرتب كند و قرار دادن گزارش بر پايه آن، گزارش خوبي را به وجود مي آورد كه به همان روش مرتب شده است.
بنابراين هر زمان كه ترتيب ركوردها مد نظر شما بود ،بايد آنچه را كه مي خواهيد به بانك اطلاعاتي بگوئيد،بگونه اي كه بتواند همان را به شما ارائه دهد(در حقيقت، براي مرتب كردن داده ها در يك گزارش بيش از يك روش وجود دارد).
در اين مقاله براي طراحي و پرس و جو، از يك نماد ستاره در اولين ستون استفاده شده است تا تمام فيلدها را شامل شود ، اما فيلد CDID را نيز به ستون دوم افزوده ايم. در اينجا از ترتيب مرتب سازيAscending استفاده شده و اين ستون از جدول پاسخ پنهان مي ماند.
نماد ستاره به پرس وجو مي گويد تا تمام فيلدهاي موجود در جدول را بدون ذكر دقيق نام آنها باز گرداند. اگر فيلدي بيافزائيد يا نام فيلد موجود را تغيير دهيد ، اين پرس و جو همچنان كار مي كند.
اگر هر فيلد را به طور جداگانه اي در پرس وجو مشخص كنيد ، بايد بطور دستي ويرايش شود تا هر تغيير ي را در جدول مورد نظر منعكس كند.
از سوي ديگر بخش انتهاي پرس وجوي ما به اينگونه است كه در صورت وجود تعداد زيادي ستون هر ستون را كه ناكارآمد است باز مي گرداند.

فشرده سازي خودكار
هنگام بستن بانك اطلاعاتي، مي توان فشرده سازي رابطور خودكار انجام داد. بانك اطلاعاتي را باز كنيد ، سپس Tools و Options را انتخاب نماييد . General Tab را انتخاب كرده و Box اي به نام Compact On Close را تيك بزنيد.