امروز: جمعه 7 اردیبهشت 1403
دسته بندی محصولات
بخش همکاران
لینک دوستان
بلوک کد اختصاصی

  • پايان نامه رشته حسابداري با عنوان بررسي عوامل مؤثر بر مطالبات معوق بانك تجارت(در...
  • مقاله مقايسه مرزبان نامه و کليله و دمنه
  • مقاله کامل در مورد ليزر و کاربرد آن در صنعت
  • پاورپوينت تجزيه و تحليل پايانه مسافربري تنکابن
  • کاربرد پردازش تصوير و بينايي ماشين در صنايع غذايي
  • ارزيابي اثرات زيست محيطي احداث سد و نيروگاه بر رودخانه كارون در استان چهار محال ...
  • توازن بار در ابرهاي محاسباتي
  • گزارش کارآموزي رشته روانشناسي صنعتي/سازماني در شرکت مهندسي مواد کاران
  • پايان نامه کارشناسي حسابداري با عنوان تجزيه و تحليل نسبتهاي مالي شرکت زربال ‏
  • پاورپوينت و ارائه کامل هزينه يابي کايزن
  • پايان نامه مهندسي عمران با عنوان شمع (بصورت جامع و کامل)
  • رايانش ابري،توازن بار و تشريح کامل مفاهيم معماري و مديريت در آن
  • پاورپوينت و ارائه کامل برنامه ريزي منابع سازماني
  • پاورپوينت استفاده از روشهاي داده كاوي در تشخيص نفوذ به شبكه هاي كامپيوتري
  • گزارش کارآموزي رشته حسابداري در شرکت نفت
  • پاورپوينت و ارائه مطلب اطلاعات حسابداري

    تاثيرات جنسيت در حقوق كيفري

    چكيده در اين پژوهش تاثيرات جنسيت در حقوق كيفري ايران با مراجعه و ملاحظه قوانين و مقررات اعم از ماهوي و شكلي مورد بررسي قرار گرفت كه مقنن با مد نظر قرار دادن جنسيت زن و مرد،تفاوت و تمايز در برخي موضوعات را اعمال كرده است. در عناوين مجرمانه جرايمي شناسايي گرديده است كه مختص جنس ...

    بحران هويت جنسي

    بحران هويت جنسي

    عنوان تحقيق: بحران هويت جنسي فرمت فايل: word تعداد صفحات: 20 شرح مختصر: در دنياي امروز، دنيايي كه هر روز از سنتها فاصله گرفته و به سوي مدرنيست مي رود، در همه ابعاد زندگي شاهد دگرگوني و تغيير نقش هاي جنس مخالف اين پرسش را در ذهن مي zwnj;آورد كه نقش حقيقي زن و مرد در يك جامعه چيست؟ آيا ...

    دانلود پايان نامه ارشد قالب word با عنوان بررسي رابطه هوش هيجاني و سبكهاي مقابله با استرس و تاثير جنسيت بر اين رابطه ??? ص

    پايان نامه جهت دريافت درجه كارشناسي روانشناسي باليني موضوع بررسي رابطه بين هوش هيجاني و سبكهاي مقابله با استرس و تاثير جنسيت بر اين رابطه چكيده هدف از اين پژوهش بررسي رابطه هوش هيجاني و سبکهاي مقابله با استرس و تأثير جنسيت بر روي آن در دانشجويان مقطع كارشناسي رشته روانشناسي ...

    دانلود پايان نامه آماده در قالب word با عنوان پايان نامه كارشناسي ارشد عوامل موثر در روسپي گري فحشا 227 ص

    چکيده فصل اول- كليات مقدمه 2 بيان مسأله 5 ضرورت و اهميت تحقيق 8 اهداف تحقيق 10 فصل دوم- ادبيات موضوع گفتار يكم- خانواده 12 تعريف خانواده 14 اهميت خانواده 16 گفتار دوم - آسيبهاي خانواده 19 اختلاف خانوادگي 22 خشونت خانوادگي 24 تجاوز جنسي عليه زنان 26 تجاوز جنسي عليه كودكان 29 فقر و انحرافات ...

    بررسي مقايسه اي ويژگي هاي خانوادگي زنان روسپي و زنان غيرروسپي

    بررسي مقايسه اي ويژگي هاي خانوادگي زنان روسپي و زنان غيرروسپي

    عنوان پايان نامه: بررسي مقايسه اي ويژگي هاي خانوادگي زنان روسپي و زنان غيرروسپي فرمت فايل: word تعداد صفحات: 192 شرح مختصر: موضوع اين پايان نامه بررسي مقايسه اي ويژگيهاي خانوادگي زنان روسپي و غير روسپي شهر تهران است . سئوال اصلي پژوهش اين است که : آيا بين زنان روسپي و زنان غير ...

    تفاوت نقش يابي جنسي در دختران و پسران شهرستان پارسيان در سال تحصيلي 93-94

    تفاوت نقش يابي جنسي در دختران و پسران شهرستان پارسيان در سال تحصيلي 93-94

    اين پايان نامه تفاوت نقش يابي جنسي در دختران و پسران شهرستان پارسيان در سال تحصيلي 93-94 شامل فايل به صورت word مي باشد توضيحات محصول تعداد صفحه:84 چکيده تحقيق حاضر به تفاوت نقش يابي جنسي در دختران و پسران ميپردازد. جامعه آماري اين تحقيق دختران و پسران شهرستان پارسيان ...

    نقش رضايت جنسي بر ميزان رضايت زناشويي دانشجويان متاهل

    نقش رضايت جنسي بر ميزان رضايت زناشويي دانشجويان متاهل

    عنوان پايان نامه: نقش رضايت جنسي بر ميزان رضايت زناشويي دانشجويان متاهل دانشگاه پيام نور(همراه با پرسشنامه و کار آماري) پايان نامه جهت اخذ درجه كارشناسي-رشته روانشناسي عمومي فرمت فايل: word تعداد صفحات: شرح مختصر: هدف از پژوهش حاضر بررسي تاثير نقش رضايت جنسي بر ميزان رضايت ...

    بررسي موضوعي تغيير جنسيت در فقه و حقوق ايران

    بررسي موضوعي تغيير جنسيت در فقه و حقوق ايران

    عنوان تحقيق: بررسي موضوعي تغيير جنسيت در فقه و حقوق ايران فرمت فايل: word تعداد صفحات: 72 شرح مختصر: امروزه، مسأله laquo;تغيير جنسيت raquo; نه تنها از ديد پزشکي، بلکه به لحاظ مباحث حقوقي حائز اهميت مي باشد. اگرچه در گذشته اين مباحث کم و بيش وجود داشته، ولي اکنون با پيشرفت تکنولوژي و ...

    بررسي مفهومي تغيير جنسيت در فقه و حقوق ايران

    بررسي مفهومي تغيير جنسيت در فقه و حقوق ايران

    عنوان تحقيق: بررسي مفهومي تغيير جنسيت در فقه و حقوق ايران فرمت فايل: word تعداد صفحات: 117 شرح مختصر: امروزه، مسأله laquo;تغيير جنسيت raquo; نه تنها از ديد پزشکي، بلکه به لحاظ مباحث حقوقي حائز اهميت مي باشد. اگرچه در گذشته اين مباحث کم و بيش وجود داشته، ولي اکنون با پيشرفت تکنولوژي و ...

    جنسيت و زيبايي شناسي

    جنسيت و زيبايي شناسي

    عنوان پايان نامه: جنسيت و زيبايي شناسي فرمت فايل: word تعداد صفحات: 246 شرح مختصر: اين رساله شامل ترجمة فصولي از كتاب laquo;جنسيت و زيبايي شناسي raquo; به تأليف كارولين كورس ماير، استاد فلسفه در دانشگاه ايالتي نيويورك و مقدمة مترجم (شيرين شفائي) مي zwnj;باشد. هر فصل از كتاب به بحث در ...

    دانلود پايان نامه ارشد قالب word با عنوان بررسي رابطه هوش هيجاني و سبكهاي مقابله با استرس و تاثير جنسيت بر اين رابطه ??? ص

    پايان نامه جهت دريافت درجه كارشناسي روانشناسي باليني موضوع بررسي رابطه بين هوش هيجاني و سبكهاي مقابله با استرس و تاثير جنسيت بر اين رابطه چكيده هدف از اين پژوهش بررسي رابطه هوش هيجاني و سبکهاي مقابله با استرس و تأثير جنسيت بر روي آن در دانشجويان مقطع كارشناسي رشته روانشناسي ...

    بررسي تفاوت هاي جنسي در اضطراب اجتماعي نوجوانان

    بررسي تفاوت هاي جنسي در اضطراب اجتماعي نوجوانان

    عنوان تحقيق: بررسي تفاوت هاي جنسي در اضطراب اجتماعي نوجوانان فرمت فايل: word تعداد صفحات: 87 شرح مختصر: اضطراب اجتماعي اضطرابي است كه خصوصاً هنگام برخوردهاي اجتماعي متقابل افراد با يكديگر بوجود مي zwnj;آيد افرادي كه از اضطراب اجتماعي رنج مي zwnj;برند با افزايش مسائل رواني، ...

  • پایان نامه بانک اطلاعاتی

    پایان نامه بانک اطلاعاتی دسته: کامپیوتر و IT
    بازدید: 136 بار
    فرمت فایل: doc
    حجم فایل: 1139 کیلوبایت
    تعداد صفحات فایل: 52

    پایان نامه بانک اطلاعاتی دادِگان (پایگاه داده‌ها یا بانک اطلاعاتی) به مجموعه‌ای از اطلاعات با ساختار منظم و سامـانمند گـفته می‌شود این پایگاه‌های اطلاعاتی معمولاً در قالبی که برای دستگاه‌ها و رایانه‌ها قابل خواندن و قابل دسترسـی باشند ذخیــــره می‌شوند البته چنین شیوه ذخیره‌سازی اطلاعات تنها روش موجود نیست و شیوه‌هـای دیگری مانند ذخیره‌ســازی ساد

    قیمت فایل فقط 2,600 تومان

    خرید

    بخش 1 : مقدمه

    1-1 مقدمه ای بر بانک اطلاعاتی

    دادِگان (پایگاه داده‌ها یا بانک اطلاعاتی) به مجموعه‌ای از اطلاعات با ساختار منظم و سامـانمند گـفته می‌شود. این پایگاه‌های اطلاعاتی معمولاً در قالبی که برای دستگاه‌ها و رایانه‌ها قابل خواندن و قابل دسترسـی باشند ذخیــــره می‌شوند. البته چنین شیوه ذخیره‌سازی اطلاعات تنها روش موجود نیست و شیوه‌هـای دیگری مانند ذخیره‌ســازی ساده در پرونده‌ها نیز استفاده می‌گردد. مسئله‌ای که ذخیره‌سازی داده‌هـا در دادگــان را موثر می‌ســازد وجود یک ساختار مفهومی است برای ذخیره‌سازی و روابط بین داده‌هااست.


    پایگاه داده در اصل مجموعه‌ای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه می‌‌گیرد ،اما کاربر وسیع و عمومی نیز دارد، این وسعت به اندازه‌ای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانه‌ای برای پایگاه داده ایجاد می‌‌کند) شامل تعاریف غیر الکترونیکـی برای پایگاه داده می‌‌باشـد. در این نوشـتار به کاربرد های تکنیکی برای این اصطلاح محدود می‌‌شود.

    یک تعریف ممکـن این اسـت کـه: پایگـاه داده مجموعـه‌ای از رکورد هـای ذخیره شـده در رایـانه بـا یک روش سیستماتیک (اصولی) مثل یک برنامه رایانه‌ای است که می‌‌تواند به سوالات کاربر پاسخ دهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولا به صـورت مجموعه‌ای از اجـزای داده‌ای یا رویداد هـا سازماندهـی مـی‌‌گردد. بخش های بازیابی شده در هر پرسش به اطلاعاتی تبدیل می‌‌شود که برای اتخاذ یک تصمیـم کاربرد دارد. برنامـه رایانه‌ای که برای مدیریت و پرسش و پاسخ بین پایگاه‌های داده‌ای استفاده می‌‌شود را مدیـر سیستم پایگاه داده‌ای یا به اختصار (DBMS) می‌‌نامیم. خصوصیات و طراحی سیستم های پایگاه داده‌ای در علم اطلاعات مطالعه می‌‌شود.


    مفهوم اصلی پایگاه داده این است که پایگاه داده مجموعه‌ای از رکورد ها یا تکه هایی از یک شناخت است.نوعا در یک پایگـاه داده توصیـف ساخـت یافته‌ای برای موجـودیت هـای نگـه داری شده در پایـگاه داده وجود دارد: این توصیف با یک الگو یا مدل شناخته می‌‌شود. مدل توصیفی، اشیا پایگاه‌های داده و ارتباط بین آنها را نشـان می‌‌دهد. روش های متفاوتی برای سازماندهی این مدل ها وجود دارد که به آنها مدل های پایگـاه داده گوییم. پرکاربرد‌ترین مدلی که امروزه بسیار استفاده می‌‌شود، مدل رابطه‌ای است که به طـور عـام به صورت زیر تعریف می‌‌شود: نمایش تمام اطلاعاتی که به فرم جداول مرتبط که هریک از سطـر ها و ستونـها تشکیـل شده است (تعریف حقیقی آن در علم ریاضیات برسی می‌‌شود). در این مدل وابستگی ها بـه کمـک مقادیر مشترک در بیش از یک جدول نشان داده می‌‌شود. مدل های دیگری مثل مدل سلسلـه مراتب و مدل شبکه‌ای به طور صریح تری ارتباط ها را نشان می‌‌دهند.
    در مباحث تخصصی تر اصتلاح دادگان یا پایگاه داده به صورت مجموعـه‌ای از رکـورد هـای مرتبط با هم تعریف می‌‌شود. بسیاری از حرفه‌ای ها مجموعه‌ای از داده هایی با خصوصیات یکسان به منظـور ایجـاد یک پایگاه داده‌ای یکتا استفاده می‌‌کنند.

    معمولا DBMS ها بر اساس مدل هایی که استفاده می‌‌کنند تقسیم بنـدی می‌‌شونـد: ارتباطی،شی گـرا، شبکـه‌ای و امثال آن. مدل هـای داده‌ای به تعیین زبانهای دسترسـی بـه پایگاه‌های داده علاقه مند هستند. بخش قابل توجهی از مهندسـی DBMS مستقـل از مـدل های می‌‌باشد و به فـاکتور هایی همچون اجرا، همزمانی،جامعیت و بازیافت از خطاهای سخت افزاری وابسطه است.در این سطح تفاوت های بسیاری بین محصولات وجود دارد.

    موارد زیر به صورت خلاصه شرح داده می شود:
    2-1 تاریخچه پایگاه داده
    3-1 انواع دادگان ها
    4-1  مدل های پایگاه داده
    1-4-1  مدل تخت
    2-4-1  مدل شبکه ای(Network)
    3-4-1  مدل رابطه ای
    4-4-1  پایگاه داده‌های چند بعدی
    5-4-1  پایگاه داده‌های شیء
    5-1 ویژگی‌های سیستم مدیریت پایگاه داده‌ها
    6-1 فهرست سیستم‌های متداول مدیریت دادگان

    2-1 تاریخچه پایگاه داده

    اولیـن کاربردهـای اصطـلاح پایـگـاه داده بـه June 1963 بـاز مـی‌گردد، یعنـی زمـانی کــه شرکـت System Development Corporation مسئولیـت اجـرایـی یـک طـرح به نـام "توسعه و مدیریت محاسباتی یک پایگاه داده‌ای مرکزی" را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد در اوایل دهـه 70 در اروپا و در اواخر دهه 70 در خبر نامه‌های معتبر آمریکایی به کار رفـت.(بانـک داده‌ای یا Databank در اوایـل سـال 1966 در روزنامه واشنگتن کار رفت).

    تصویر:اولین سیستم مدیریت پایگاه داده در دهه 60 گسترش یافت. از پیشگامـان این شاخه چارلز باخمن می‌‌باشد. مقالات باخمـن ایـن را نشـان داد که فرضیـات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را مهیـا می‌‌کنـد. در آن زمانهـا پردازش داده بر پایـه کـارت های منگنه و نوار هـای مغناطیسی بود که پردازش سری اطلاعات را مهیا می‌‌کند. دو نوع مدل داده‌ای در آن زمانهـا ایـجاد شـد:CODASYL موجب توسـعه مدل شبکه‌ای شدکه ریشه در نظریات باخـمن داشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعدا با اقباس از آن شرکت IBM محصولIMS را تولید نمود.


    مدل رابطـه‌ای توسـط E. F. Codd در سـال 1970 ارائه شد.او مدل های موجود را مـورد انتقاد قرار می‌‌داد. برای مدتـی نسبتا طـولانـی این مدل در مجـامع علـمی مـورد تایید بود. اولیـن محصـول موفق برای میکرو کامپیوتر ها dBASE بودکـه برای سیستـم عامـل هـایCP/M و PC-DOS/MS-DOS ساختـه شـد. در جـریان سال 1980 پژوهـش بر روی مـدل توزیع شده (distributed database) و ماشین های دادگانی (database machines) متمرکـز شد، امـا تاثیر کمـی بر بازار گـذاشت. در سال 1990 توجهات به طرف مدل شی گرا(object-oriented databases) جلـب شـد. این مـدل جـهت کنترل داده‌هـای مرکب لازم بود و به سادگی بر روی پایگاه داده‌های خاص، مهندسی داده(شامل مهندسی نرم افزار منابع) و داده‌های چند رسانه‌ای کار می‌‌کرد.

    در سال 2000 نوآوری تـازه‌ای رخ داد و دادگـان اکس‌ام‌ال (XML) به وجـود آمد. هـدف ایـن مـدل از بین بردن تفاوت بین مستندات و داده هـا اسـت و کمـک می‌‌کند که منابع اطلاعاتی چه ساخت یافته باشند یا نه در کنار هم قرار گیرند

    3-1 انواع دادگان ها
    دادگان‌ها از نظر ساختار مفهومی و شیوه‌ای رفتار با داده‌ها بر دو نوع هستند :
    1.دادگان رابطه‌ای
    2.دادگان شی‌گرا

    4-1  مدل های پایگاه داده
    شگـرد هـای مختلفـی برای مدل های داده‌ای وجود دارد. بیشتر سیستم های پایگاه داده‌ای هر چند که طور معمول بیشتر از یک مـدل را مورد حمایت قرار می‌‌دهند، حول یک مدل مشخص ایجاد شده اند. برای هر یک از الگوهای های منطقی (logical model) اجـراهای فیزیکی مختلفی قابل پیاده شدن است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران محیا می‌‌کند. یک انتخـاب مـناسب تـاثیر مـثری بر اجرا دارد.مثـالی از موارد الگوی رابطه‌ای (relational model) است: همـه رویـدادهای مهـم در مـدل رابطـه‌ای امکان ایجاد نمایه‌هایی که دسترسی سریع به سطرها در جدول را می‌‌دهد،فراهم می‌‌شود.

    یک مـدل داده‌ای تنهـا شیـوه سـاختمان بـندی داده ها نیست بلکه معمولا به صورت مجموعه‌ای از عملیات ها که می‌‌توانـد روی داده هـا اجـرا شـود تعریـف مـی‌‌شوند. برای مثـال در مـدل رابطـه‌ای عملیـاتی هـمچون گـزینش (selection)، طرح ریزی (projection) و اتصال (join) تعریف می‌‌گردد.

    1-4-1 مدل تخت
    مدل تخت یا جدولی (flat (or table) model ) تشـکیل شده اسـت از یـک آرایـه دو بعدی با عناصر داده‌ای که همه اجزای یک ستون به صورت داده‌های مشابه فرض می‌‌شود و هـمه عناصـر یک سطـر با هم در ارتباط هستند. برای نمونه در ستون هایی که برای نام کـاربـری و رمـز عبور در جـزئی از سیستم های پایگاه داده‌ای امنیتی مورد استفاده قرار می‌‌گیرد هر سطر شـامل رمـز عبـوری اسـت که مخصوص یک کاربر خاص است. ستون های جدول که با آن در ارتباط هستند به صورت داده کاراکتری، اطـلاعات زمانـی، عـدد صـحیح یـا اعداد ممیز شناور تعریف می‌‌شوند. این مدل پایه برنامه‌های محاسباتی(spreadsheet) است.

    پایـگاه داده هـا با فایـل هـای تـخت به سـادگی توسط فایل های متنی تعریف می‌‌شوند. هر رکورد یک خط است و فیلد ها به کمک جدا کننده هایی از هم مجزا می‌‌شوند. فرضا به مثال زیر دقت کنید:
    id name team
    1 Amy Blues
    2 Bob Reds
    3 Chuck Blues
    4 Dick Blues
    5 Ethel Reds
    6 Fred Blues
    7 Gilly Blues
    8 Hank Reds
    داده‌های هر ستون مشابه هـم اسـت ما بـه این ستونهـا فیلـد ها (fields) گوییم. و هر خط را غیر از خط اول یک رکـورد(record) مـی‌‌نامیم. خـط اول را که برخـی پـایگاه‌هـای داده‌ای آنرا ندارند رکورد برچسب(field labels) گوییم. هر مقدار داده‌ای اندازه خاص خود را دارد که اگـر به آن اندازه نـرسـد مـی‌‌توان از کاراکنر فاصله برای این منظور استفاده کرد اما این مسئله مخصوصا زمانی که بخواهیـم اطلاعـات را بـر روی کـارت های منگنه قرار دهیم مشکل ساز خواهد شد. امروزه معمولا از نویسه TAB برای جـداسـازی فیلـد ها و کـاراکتر خـط بعد برای رکورد بعدی استفاده می‌‌کنیم. البته شیوه‌های دیگری هم وجود دارد مثلا به مثال زیر دقت کنید:
    "1","Amy","Blues"
    "2","Bob","Reds"
    "3","Chuck","Blues"
    "4","Dick","Blues"
    "5","Ethel","Reds"
    "6","Fred","Blues"
    "7","Gilly","Blues"
    "8","Hank","Reds"
    این مثال از جدا کننده کاما استفاده می‌‌کند.در این نوع مدل تنها قابلیت حذف،اضافه،دیدن و ویرایش وجود دارد که ممکن است کافی نباشد.Microsoft Excel این مدل را پیاده سازی می‌کند.

    2-4-1 مدل شبکه ای(Network)
    در سال 1969 و در کنفرانس زبانهای سیستم هـای داده‌ای (CODASYL) توسطCharles Bachman ارائه شد. در سال 1971 مجددا مطـرح شـد و اسـاس کار پایگاه داده‌ای قرار گرفت و در اوایل دهه 80 با ثبت آن درسازمان بین المللی استانداردهای جهانی یا ISO به اوج رسید.

    مدل شبکه‌ای (database model) بر پایه دو سازه مهم یعنی مجموعه ها و رکورد ها ساخته می‌‌شود و برخلاف روش سلسله مراتبی که از درخت استفاده می‌‌کند، گـراف را به کار می‌‌گیرد. مزیت این روش بر سلسله مراتبی این است که مدل های ارتباطی طبیعی بیشتری را بین موجـودیت هـا فراهـم می‌‌کند. الی رغم این مزیت ها به دو دلیل اساسی این مدل با شکست مواجه شد: اول اینکه شرکت IBM بـا تولید محصـولات IMS و DL/I که بر پایه مدل سلسله مراتبی است این مدل را نادیده گرفت. دوم اینکه سرانجام مدل رابطه‌ای (relational model) جای آن را گرفت چون سطح بالاتر و واضح تر بود. تا اوایل دهـه 80 بـه علـت کـارایی رابـط هـای سطح پایین مدل سلسله مراتبی و شبکه‌ای پیشنهاد می‌‌شد که بسیاری از نیاز های آن زمان را برطـرف می‌‌کـرد. اما با سـریعتر شـدن سخت افزار به علت قابلیت انعطاف و سودمندی بیشتر سیستم های رابطه‌ای به پیروزی رسیدند.

    رکورد ها در این مدل شامل فیلد هایی است (ممکـن اسـت همچـون زبـان کوبول (COBOL) به صورت سلسله مراتب اولویتی باشد). مجموعه ها با ارتباط یـک بـه چنـد بیـن رکورد ها تعریف می‌‌شود:یـک مالک و چند عضو عملیات های مدل شبکه‌ای از نوع هدایت کننده است: یک برنامه در موقعیت جـاری خـود باقـی می‌‌ماند و از یک رکورد به رکورد دیگر می‌‌رود هر گاه که ارتباطی بین آنها وجود داشته باشد. معمولا از اشاره‌گرها(pointers) برای آدرس دهی مستقیم به یک رکورد در دیسک استفاده می‌‌شود. با این تکنیـک کارایـی بـازیابی اضـافه مـی‌‌شـود هر چند در نمایش ظاهری این مدل ضروری نیست .


    3-4-1 مدل رابطه ای
    مدل رابطـه ای (relational model) در یـک مقـاله تحصیلـی توسـط E. F. Codd در سـال 1970 ارائه گشت. این مدل یک مدل ریاضیاتی است که با مفاهیمی چون مستندات منطقی (predicate logic) و تئوری مجموعه ها (set theory) در ارتباط اسـت. محصـولاتی همچون اینگرس،اراکل، DB2 وسرور اس‌کیوال (SQL Server) بر این پایه ایجاد شده است. ساختار داده ها در این محصولات به صورت جدول است با این تفاوت که می‌‌تواند چند سطر داشته باشد.به عبـارت دیگر دارای جداول چـند گانه است که به طور صریح ارتباطات بین آنها بیان نمی‌شود و در عوض کلید هایی به منظور تطبیق سطر ها در جداول مختلف استفاده می‌‌شود. به عنوان مثال جدول کارمندان ممکن است ستونی به نام "موقعیت" داشته باشد که کلید جدول موقعیت را با هم تطبیق می‌‌دهد.

    4-4-1 پایگاه داده‌های چند بعدی
    پایگاه داده‌هـای رابطـه‌ای توانسـت به سرعت بازار را تسخیر كند، هرچند كارهایی نیز وجود داشت  كه این پایگاه داده‌ها نمی‌توانست به خوبی انجام دهد. به ویژه به كارگیری كلیدها در چند ركورد مرتبط به هم و د ر چند پایگـاه داده مشترك، كندی سیستم را موجب می‌شد. برای نمونه برای یافتن نشانی كاربری با نام دیویـد، سیستـم رابطه‌ای باید نام وی را در جدول كاربر جستجو كند و كلید اصـلی (primary key ) را بیابد و سپس در جدول نشانـی‌ها، دنبال آن كلید بگردد. اگر چه این وضعیت از نظر كاربر، فقط یـك عملیـات محسوب، امـا به جستجـو درجـداول نیازمند است كه این كار پیچیده و زمان بر خواهد بود. راه كار ایـن مشكـل ایـن اسـت كـه پایگاه داده‌ها اطلاعات صریح درباره ارتباط بین داده‌ها را ذخیره نماید. مـی‌توان بـه جای یافتن نشانی دیوید با جستجو ی كلید در جدول نشانی، اشاره‌گر به داده‌ها را ذخـیره نمـود. در واقـع، اگـر ركـورد اصـلی، مالك داده باشد، در همان مكان فیزیكی ذخیره خواهد شد و از سوی دیگر سرعت دسترسی افزایش خواهد یافت.چنین سیستمـی را پایگـاه داده‌هـای چند بعدی می‌نامند. این سیستم در هنگامی كه از مجموعه داده‌های بزرگ استفاده می‌شود، بسیار سودمند خواهد بود. از آنجاییكه این سیستم برای مجموعه داده‌های بزرگ به كار می‌رود،هیچگاه در بازار به طور مستقیم عمومیت خواهد یافت.

    5-4-1 پایگاه داده‌های شیء
    اگر چه سیستم‌های چند بعدی نتوانستند بازار را تسخـیر نمـایند، امـا به توسعـه سیستم‌های شیء منجر شدند. این سیستم‌ها كه مبتنی بر ساختار و مفاهیم سیستم‌های چند بعدی هستند،بـه كاربر امكان می‌دهـند تـا اشیاء را به طور مستقیـم در پایگـاه داده‌هـا ذخیـره نمـاید. بدیـن ترتیب سـاختار برنامه نویسی شیء گرا (object oriented ) را می‌توان به طور مستقیم و بدون تبدیل نمودن به سایر فرمت‌ها، در پایگاه داده‌ها مورد استفاده قرار داد. این وضعیت به دلیل مفاهیم مالكیـت (ownership) در سیستـم چند بعدی، رخ می‌دهد. در برنامه شیء گرا (OO)، یك شیء خاص "مالك " سایر اشیاء در حافظـه اسـت، مثلا دیوید مالك نشانی خود می‌باشد. در صورتی كه مفهوم مالكیت در پایگاه داده‌های رابطه‌ای وجود ندارد.

    5-1 ویژگی‌های سیستم مدیریت پایگاه داده‌ها
    پس از این مقدمه به توصـیف سیستـ مدیریت پایگاه داده‌ها می‌پردازیم. سیستم مدیریت پایگاه داده‌ها، مـجموعه‌ای پیچیده از برنامه‌های نرم‌افزاری است كه ذخیره سازی و بازیابی داده‌های (فیلدها، ركوردها و فایل‌ها) سازمان را در پایگاه داده‌ها، كنترل مـی‌كند. این سیستم، كنترل امنیت و صحت پایگاه داده‌ها را نیز بر عهده دارد. سیستم مدیریت پایگاه داده‌ها، درخواست‌هـای داده را از برنـامـه مـی‌پذیرد و به سیستم عامل دستور می‌دهد تا داده‌ها ی مناسب را انتقال دهد. هنگامی كه چنین سیستمی مورد استفـاده قـرار می‌گیرد، اگر نیازمندیهای اطلاعاتی سپازمانی تغییر یابد، سیستـم‌های اطلاعاتی نیز آسانتر تغییر خواهند یافت. سیستم مذكور از صحت پایگاه داده‌ها پشتیبانی می‌كند . بدین ترتیب كه اجازه نمی‌دهد بیش از یك كاربر در هر لحظه، یك ركورد را به روز رسانی كند . این سیستم ركوردهای تكراری را در خارج پایگاه داده‌ها نگاه می‌دارد. برای مثال ، هیچ دو مشترك با یك شمـاره مشتـری ، نمی‌توانند در پایگاه داده‌ها وارد شوند. این سیستم روشی برای ورود و بـه روز رسـانی تعامـلی پـایگـاه داده‌هـا فراهم می‌آورد. یك سیسـتم اطلاعـات كسـب و كـار از موضوعاتی نظیر (مشتریان، كارمندان، فروشندگان و غیره) و فعالیت‌هایی چون (سفارشات، پرداخت‌ها، خریدها و غیره) تشكیـل شـده اـست.

    طراحی پایگاه داده‌ها، فرایند تصمیم گیری درباره نحوه سـازماندهی این داده‌ها در انواع ركوردها و برقراری ارتباط بیـن ركـوردهاست.سیستـم مـدیریت پـایگاه داده‌هـا می‌تواند ساختار داده‌ها و ارتباط آنها را در سازمان به طور اثر بخش نشان دهد. سه نوع مدل متداول سازمانی عبارتند از: سلسله مراتبی، شبكه‌ای و رابطه‌ای. یك سیستم مدیریت پایگاه داده‌ها ممكن است یك، دو یا هر سه روش را فراهم آورد. سرورهای پایگاه داده‌ها ، كامپیوترهایی هستند كه پایگـاه داده‌هـای واقعـی را نگـاه مـی‌دارنـد و فقـط سیستـم مدیریــت پایگـاه داده‌هـا و نرم‌افزار مربـوطه را اجرا می‌كنند. معمولا این سرورها رایانه‌های چند پردازنده‌ای با آرایه‌های دیسك RAID برای ذخیره سازی می‌باشند.

    6-1 فهرست سیستم‌های متداول مدیریت دادگان
    معروف‌ترین این نرم‌افزارهای مدیریت دادگان‌ها می‌توان به چند نمونه زیر اشاره کرد:

    1.Oracle
    2.Microsoft SQL Server
    3.MySQL
    4.PostregSQL
    5.DB2
    6.Microsoft Access
    که پروژه ای که در ادامـه مـورد بررسـی قرار می گیرد بـا استفـاده از بـانک اطلاعاتـی Microsoft Access تهیه شده است.

    بخش 2: معرفی پروژه

    1-2 عنوان پروژه:

    بانک اطلاعاتی تجهیزات آزمایشگاه کنترل نیروگاه طوس

    آزمایشگـاه کنتـرل نیروگـاه طـوس وظـیفه تسـت ،تـعمیـر و نـگهداری  از تجهیزات کنترلی بکار رفته در قسمت های مختلـف نیروگـاه طـوس را به عـهده دارد؛ دردوره تعـیرات اساسی واحد های نیروگاه این آزمایشگاه وظیفه بررسی و تنظیم این تجهیزات را بر اسـاس جـزوات مدونی کـه نحـوه تنظیـم هرتجهیز را مشخص نموده است بر عهده دارد.

    نحـوه عمـلکرد بدیـن صـورت است که هر دستگاهی دارای کد خاصـی است که تنظیم آن در جزوه دستورالعمل با توجه به کد آن مشخص شده است؛ که فرد باید با توجه به کد دستگاه در جزوه نحوه تنظیم آن را بیابد و مـورد استفاد قرار بدهد. طبیعتاً این روش دستیابی به اطلاعات تجهیزات را در طـی مدت تعمیرات اساسی کـند می کـند

    و متعاقباً روند تعمیرات اساسی را با مشکل مواجه می سازد.

    هدف از ایجاد بانک اطلاعات تجهیزات تسریع روند دسترسی به اطلاعات هر تجهیز می باشد.

    2-2 مفاهیم اولیه بکار رفته در پروژه

    1-2-2 تجهیز :

    هر دستگاهی که در آزمایشگاه تست وبررسی و تنظیم میشود،یک تجهیز خاص است.

    2-2-2 کد Aks :

     شماره مشخصه هر تجهیز که با توجه به آن اطلاعات مورد بازیابی قرار می گیرد.

    3-2-2 لیست Mkb :

    لیستـی کـه در آن تنظیمـات پیـش فرض هـر تجهیز آورده شده است و هر تجهیز با توجـه بـه شمـاره Aks خود دارای ردیف خاصی در لیست می باشد.

    بخش3 : تحلیل ساختار بانک اطلاعاتی

    در این بخش ساختار بانک اطلاعاتی از جمله : جداول، ارتباط بین آنها،فرمهای بکار رفته ،query های مورد

    استفاده و کدهای Visual basic بکار رفته در بانک مورد بررسی قرار می گیرد.

    1-3 ساختار جداول:

    1-1-3 جدول Grp

    این جدول به منظور تعیین رده های تجهیز طراحی شده،از جمله این رده ها می توان از ترانسمیترها،سوئیچها و

    نام برد.(شکل1-3)

    شکل 1-3

    Properties

      DateCreated:     2006/10/22 07:19:16 ق.ظ                         DefaultView: Datasheet

                                       NameMap:      Long binary data      OrderByOn:   False

      Orientation:            Left-to-Right              RecordCount:          5

      Updatable:              True

    Columns

                Name                                                              Type                                           Size

                grpID                                                              Long Integer                               4

                grpname                                                         Text                                            50

    Relationships

    grpInstrument

    grp Instrument

                               grpID                         1      ¥  groupID

                            صفات:                        Enforced; Cascade Updates; Cascade Deletes

                            نوع ارتباط:         One-To-Many

    grpsubgrpname

    grp subgrpname

                               grpID                         1      ¥  grp

                            صفات:                        Enforced; Cascade Updates; Cascade Deletes

                            نوع ارتباط:         One-To-Many

    2-1-3 جدول Instrument

    از این جدو.ل برای نگهداری مشخصات تجهیز استفاده می شود.(شکل 2-3)

    شکل 2-3

    Properties

      DateCreated:     2006/10/22 07:19:16 ق.ظ                         DefaultView: Datasheet

      NameMap:               Long binary data       OrderByOn:              True

      Orientation:            Left-to-Right              RecordCount:          17

      Updatable:              True

    Columns

                Name                                                              Type                                           Size

                InsID                                                              Long Integer                               4

                groupID                                                          Long Integer                               4

                subgrpID                                                        Long Integer                               4

                Ins_name                                                       Text                                            50

                Aks_code                                                       Text                                            50

                tech_spcification                                           Memo                                             -

                local_code                                                      Text                                            50

                existance                                                        Long Integer                               4

                details                                                             Anchor                                           -

                offering_comp                                               Text                                            50

                filepath                                                           Text                                          250

    Relationships

    grpInstrument

    grp Instrument

                               grpID                         1      ¥  groupID

                            صفات:                        Enforced; Cascade Updates; Cascade Deletes

                            نوع ارتباط:         One-To-Many

    subgrpnameInstrument

    subgrpname Instrument

                               subgrpID                   1      ¥  subgrpID

                            صفات:                        Enforced; Cascade Updates; Cascade Deletes

                            نوع ارتباط:         One-To-Many

    3-1-3 جدول List

    این جدول حاوی بخشی از اطلاعات لیست Mkb  برای هر تجهیز میباشد و هر تجهیز در این جدول دارای ردیف خاصی است.(شکل 3-3)

    شکل 3-3

    Properties

      DateCreated:     2006/10/23 08:34:35 ق.ظ                         DefaultView: Datasheet

      NameMap:               Long binary data       OrderByOn:              False

      Orientation:            Left-to-Right              RecordCount:          2316

      Updatable:              True

    Columns

                Name                                                              Type                                           Size

         ردیف                                                                Text                                          255

         نام دستگاه                                                     Text                                          255

         مشخصات فنی                                               Text                                          255

         کاربرد                                                              Text                                          255

                AKS کد شناسائی                                        Text                                          255

         اندازه گیری باره                                              Text                                          255

         دامنه تنظیم                                                    Text                                          255

         نقطه تنظیم                                                     Text                                          255

         نوع دستگاه/شرکت سازنده                          Text                                          255

    4-1-3 جدول  'Sheet1 (ELC

    این جدول حاوی بخش دیگر از اطلاعات لیست Mkb  برای هر تجهیز میباشد و هر تجهیز در این جدول دارای ردیف خاصی است.(شکل 4-3)

    شکل 4-3

    Properties

      DateCreated:     2006/10/23 12:19:09 ب.ظ                         DefaultView: Datasheet

      NameMap:               Long binary data       OrderByOn:              False

      Orientation:            Left-to-Right              RecordCount:          864

      Updatable:              True

    Columns

                Name                                                              Type                                          Size

         ردیف                                                                Double                                          8

         كُد ابزار                                                            Text                                          255

         محل كارت                                                       Text                                          255

         شماره كارت                                                    Text                                          255

         كاربرد كارت                                                     Text                                          255

         مقدار ورودی                                                    Text                                          255

         سیگنال ورودی                                               Text                                          255

         تریشولد ورودی                                               Text                                          255

         مقدار خروجی                                                 Text                                          255

         سیگنال خروجی                                             Text                                          255

         تریشولد خروجی                                            Text                                          255

    5-1-3 جدول Subgrpname

    این جدول به منظور تعییـن زیـر رده هـای تجهیـز طراحـی شده و بـرای هـر ردیف در جدول Grp زیر رده های خاصی  وجود دارد.(شکل 5-3)

    شکل 5-3

    Properties

      DateCreated:     2006/10/22 07:19:16 ق.ظ                         DefaultView: Datasheet

      NameMap:               Long binary data       OrderByOn:              False

      Orientation:            Left-to-Right              RecordCount:          7

      Updatable:              True

    Columns

                Name                                                              Type                                           Size

                subgrpID                                                        Long Integer                               4

                grp                                                                  Long Integer                               4

                subgrpname                                                   Text                                            50

    Relationships

    subgrpnameInstrument

    subgrpname Instrument

                               subgrpID                   1      ¥  subgrpID

                            صفات:                        Enforced; Cascade Updates; Cascade Deletes

                            نوع ارتباط:         One-To-Many

    grpsubgrpname

    grp subgrpname

                               grpID                         1      ¥  grp

                            صفات:                        Enforced; Cascade Updates; Cascade Deletes

                            نوع ارتباط:         One-To-Many

    6-1-3 جدول tblDatabases

    این جدول نام و مسیر بانک اطلاعاتی را جهت استفاده ماژول Backup نگهداری می کند.(شکل 6-3)

    شکل 6-3

    Properties

    DateCreated: 2006/10/22 07:19:17 ق.ظ

      LastUpdated:    2006/10/22 11:45:16 ق.ظ                         OrderByOn:    False

      RecordCount:         14                                 Updatable:               True

    Columns

                Name                                                              Type                                           Size

                DBId                                                               Long Integer                               4

                DatabaseName                                              Text                                            50

                FolderPath                                                     Text                                          255

    7-1-3 جدول tblObjects

    این جدول اطلاعاتی راجع عملیت پشتیبان گیری از جمله اجزایی که عملیات پشتیبان گیری از آنها انجام شده یا

    اجزایی که باید از آنها پشتیبان گرفته شود و همچنین تاریخ آخرین عملیات را نگهداری میکند.(شکل 7-3)

    شکل 7-3

    Properties

    DateCreated: 2006/10/22 07:19:17 ق.ظ

      LastUpdated:    2006/10/22 11:45:16 ق.ظ                         OrderByOn:    False

      RecordCount:         1703                            Updatable:               True

    Columns

                Name                                                              Type                                           Size

                objectID                                                         Long Integer                               4

                DBId                                                               Long Integer                               4

                ObjectType                                                    Long Integer                               4

                ObjectName                                                   Text                                          100

                RevisionNumber                                            Integer                                         2

                LastBackupTimeStamp                                 Date/Time                                    8

                BackupRecommended                                  Yes/No                                          1

                LastUpdated                                                  Date/Time                                    8

    2-3 نحوه ارتباط بین جداول

    شکل 8-3 نحوه ارتباط بین جداول را در بانک اطلاعاتی مشخص می کند.

    شکل 8-3

    3-3 فرمها

    1-3-3  Switchboard

    فرم اصلی که به عنوان صفحه کلید بانک عمل می کند.(شکل 9-3)

    شکل 9-3

    2-3-3 Data Entry

    بخش ورود اطلاعات  به 3 قسمت تقسیم می شود :

    1-  اطلاعات تجهیز

    2-  اطلاعات رده تجهیز

    3-  اطلاعات زیر رده تجهیز

    1-2-3-3 ورود اطلاعات تجهیز

    برای ورود و ثبت اطلاعات تجهیز از این فرم استفاده می شود.(شکلهای10-3،11-3،12-3و13-3)

    شکل 10-3

    شکل 11-3

    شکل 12-3

    شکل 13-3

    2-2-3-3 ورود اطلاعات رده تجهیز

    برای ورود و ثبت اطلاعات رده تجهیز از این فرم استفاده می شود.(شکل 14-3)

    شکل 14-3

    3-2-3-3 ورود اطلاعات زیررده تجهیز

    برای ورود و ثبت اطلاعات زیررده تجهیز از این فرم استفاده می شود.(شکل 15-3)

    شکل 15-3

    3-3-3 گزارشات

    1-3-3-3 لیست تجهیزات بر اساس گروه

    برای گزارش گیری از تجهیزات موجود بر اساس یک رده خاص از این فرم استفاده میشود.(شکل 16-3)

    شکل 16-3

    نتیجه گزارش گیری از تجهیزات بر اساس رده (گروه) بصورت زیر نمایش داده میشود.(شکل 17-3)

    شکل 17-3

    2-3-3-3 لیست تجهیزات بر اساس نام و کد Aks :

    از این فرم برای گزارش گیـری از تجهـیزات بر اسـاس تمـام یـا قسمتی از نام یا کد Aks تجهیز استفاده میشود.

    (شکل 18-3)

    شکل 18-3

    نحوه نمایش جزئیات برای یک تجهیز خاص مورد جستجو بصورت زیر خواهد بود.(شکل 19-3)

    شکل 19-3

    4-3-3 فرم Back up

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

    کاربر این کاتالوگ ساخته می شود.(شکل 20-3)

    شکل 20-3

    بعد از این مرحله فرم پشتیبان گیری به شکل زیر ظاهر می گردد.(شکل 21-3)

    شکل 21-3

    که در آن اجزای که باید از آنها پشتیبان گرفته شود تیک خورده اند.

    فایلهای پشتیبان بصورت یک فولدر که شامل چند فایل متنی است در شاخه پیش فرض ذخیره میشوند.

    5-3-3 فرم Restore

    برای استفـاده از فـایل های پشتیبان در مواقع لزوم کافی Restore tab  را در فرم پشتیبان کلیک نموده و وارد

    حالت Restore شویم.(شکل22-3)

    شکل22-3

    در این حالت کافی شی که میخواهیم آنرا بازیابی کنیم انتخاب نموده و گزینه Import  را کلیک نماییم تا

    شی مورد نظر بازیابی گردد.

    4-3 ساختار Query  های بکاررفته در گزارشات و فرمها

    1-4-3 نام query : elecakssearch

    این query   با دریافت کد Aks   مشخصات تجهیز مورد نظز را در جدول Mkb  بر می گرداند.(شکل23-3)

    شکل 23-3

    SQL

    SELECT ['Sheet1 (ELC].ردیف, ['Sheet1 (ELC].[كُد ابزار], ['Sheet1 (ELC].[محل كارت], ['Sheet1 (ELC].[شماره كارت], ['Sheet1 (ELC].[كاربرد

         كارت], ['Sheet1 (ELC].[مقدار ورودی], ['Sheet1 (ELC].[سیگنال ورودی], ['Sheet1 (ELC].[تریشولد ورودی], ['Sheet1 (ELC].[مقدار خروجی],

                ['Sheet1 (ELC].[سیگنال خروجی], ['Sheet1 (ELC].[تریشولد خروجی]

    FROM ['Sheet1 (ELC]

    WHERE (((['Sheet1 (ELC].[كُد ابزار]) Like Forms!akssearchdetails!Text24));

    Query Parameters

                Name                           Type

                Forms!akssearchdetails!Text24      Text

    Columns

                Name                                                              Type                             Size

         ردیف                                                                Double                                          8

         كُد ابزار                                                            Text                                          255

         محل كارت                                                       Text                                          255

         شماره كارت                                                    Text                                          255

         كاربرد كارت                                                     Text                                          255

         مقدار ورودی                                                    Text                                          255

         سیگنال ورودی                                               Text                                          255

         تریشولد ورودی                                               Text                                          255

         مقدار خروجی                                                 Text                                          255

         سیگنال خروجی                                             Text                                          255

         تریشولد خروجی                                            Text                                          255

    2-4-3 نام query : qry_ins_in_grp

    این query برای فیلتر کردن فیلد زیر رده تجهیز با توجه به رده انتخاب شده در فرم ورود اطلاعات تجهیز بکار میرود(.شکل 24-3)

    شکل 24-3

    SQL

    SELECT grp.grpname, subgrpname.subgrpname

    FROM grp INNER JOIN subgrpname ON grp.grpID = subgrpname.grp

    GROUP BY grp.grpname, subgrpname.subgrpname;

    Columns

                Name                                                              Type                             Size

                grpname                                                         Text                                            50

                subgrpname                                                   Text                                            50

    3-4-3 نام query : Query1

    این Query با توجه به کد aks کـه در فـرم جستجـو بر اسـاس Aks دریافت کـرده لیست تجهیزات را نمایش میدهد.(شکل 25-3)

    شکل 25-3

    SQL

    SELECT Instrument.Ins_name, Instrument.Aks_code, subgrpname.subgrpname, grp.grpname

    FROM subgrpname INNER JOIN (grp INNER JOIN Instrument ON grp.grpID=Instrument.groupID) ON

                subgrpname.subgrpID=Instrument.subgrpID

    WHERE (((Instrument.Aks_code) Like "*" & Forms!name_aks_search!Text0 & "*"))

    ORDER BY Instrument.Aks_code;

    Query Parameters

                Name                           Type

                Forms!name_aks_search!Text0      Text

    Columns

                Name                                                              Type                             Size

                Ins_name                                                       Text                                            50

                Aks_code                                                       Text                                            50

                subgrpname                                                   Text                                            50

                grpname                                                         Text                                            50

    4-4-3 نام query : Query12

    این Query با توجـه بـه نـامی کـه در فـرم جستجـو بر اسـاس نـام دریافت کـرده لیسـت تجهیـزات را نمایش میدهد.(شکل 26-3)

    شکل 26-3

    SQL

    SELECT Instrument.Ins_name, Instrument.Aks_code, subgrpname.subgrpname, grp.grpname

    FROM subgrpname INNER JOIN (grp INNER JOIN Instrument ON grp.grpID=Instrument.groupID) ON

                (subgrpname.subgrpID=Instrument.subgrpID) AND (grp.grpID=subgrpname.grp)

    WHERE (((Instrument.Ins_name) Like "*" & Forms!name_aks_search!Text4 & "*"))

    ORDER BY Instrument.Aks_code;

    Query Parameters

                Name                           Type

                Forms!name_aks_search!Text4      Text

    Columns

                Name                                                              Type                             Size

                Ins_name                                                       Text                                            50

                Aks_code                                                       Text                                            50

                subgrpname                                                   Text                                            50

                grpname                                                         Text                                            50

    5-4-3 نام query : Query2

    این query  با توجه به رده انتخاب شده در فرم جستجـو بر اسـاس گروه ، لیسـت تجهیـزات را فیلتـر مـی کند.

    شکل(27-3)

    شکل 27-3

    SQL

    SELECT Instrument.Ins_name, Instrument.Aks_code, grp.grpname, subgrpname.subgrpname, Instrument.tech_spcification,

                Instrument.local_code, Instrument.existance, Instrument.details, Instrument.offering_comp

    FROM subgrpname INNER JOIN (grp INNER JOIN Instrument ON grp.grpID=Instrument.groupID) ON

                (subgrpname.subgrpID=Instrument.subgrpID) AND (grp.grpID=subgrpname.grp)

    WHERE (((grp.grpID)=forms!frmgrpsearch!combo0))

    ORDER BY Instrument.Aks_code;

    Query Parameters

                Name                           Type

                forms!frmgrpsearch!combo0          Text

    Columns

                Name                                                              Type                             Size

                Ins_name                                                       Text                                            50

                Aks_code                                                       Text                                            50

                grpname                                                         Text                                            50

                subgrpname                                                   Text                                            50

                tech_spcification                                           Memo                                       N/A

                local_code                                                      Text                                            50

                existance                                                        Long Integer                               4

                details                                                             Replication ID                         N/A

                offering_comp                                               Text                                            50

    6-4-3 نام query : Query3

    این query جزئیات تجهیز خاص مورد نظر را از لیست تجهیزاتـی که در گزارش بر اساس یک رده خاص بدست آمده است را با توجه به کد Aks آن فیلتر می کند.(شکل 28-3)

    شکل 28-3

    SQL

    SELECT Instrument.groupID, Instrument.subgrpID, Instrument.Ins_name, Instrument.Aks_code, Instrument.tech_spcification,

                Instrument.local_code, Instrument.existance, Instrument.details, Instrument.offering_comp

    FROM Instrument

    WHERE (((Instrument.Aks_code)=forms!grpsearchresult!text34))

    ORDER BY Instrument.Aks_code;

    Query Parameters

                Name                           Type

                forms!grpsearchresult!text34         Text

    Columns

                Name                                                              Type                             Size

                groupID                                                          Long Integer                               4

                subgrpID                                                        Long Integer                               4

                Ins_name                                                       Text                                            50

                Aks_code                                                       Text                                            50

                tech_spcification                                           Memo                                       N/A

                local_code                                                      Text                                            50

                existance                                                        Long Integer                               4

                details                                                             Replication ID                         N/A

                offering_comp                                               Text                                            50

    6-4-3 نام query : Query4

    این query جزئیات تجهیز خاص مورد نظر را از لیست تجهیزاتـی که در گزارش بر اساس تمام یا بخشی از کد Aks  خاص بدست آمده است را با توجه به کد Aks آن فیلتر می کند.(شکل 29-3)

    شکل 29-3

    SQL

    SELECT Instrument.groupID, Instrument.subgrpID, Instrument.Ins_name, Instrument.Aks_code, Instrument.tech_spcification,

                Instrument.local_code, Instrument.existance, Instrument.details, Instrument.offering_comp

    FROM Instrument

    WHERE (((Instrument.Aks_code)=forms!akssearchresult!text23))

    ORDER BY Instrument.Aks_code;

    Query Parameters

                Name                           Type

                forms!akssearchresult!text23         Text

    Columns

                Name                                                              Type                             Size

                groupID                                                          Long Integer                               4

                subgrpID                                                        Long Integer                               4

                Ins_name                                                       Text                                            50

                Aks_code                                                       Text                                            50

                tech_spcification                                           Memo                                       N/A

                local_code                                                      Text                                            50

                existance                                                        Long Integer                               4

                details                                                             Replication ID                         N/A

                offering_comp                                               Text                                            50

    7-4-3 نام query : Query42

    این query جزئیات تجهیز خاص مورد نظر را از لیست تجهیزاتـی که در گزارش بر اساس تمام یا بخشی از نام  خاص بدست آمده است را با توجه به نام آن فیلتر می کند.(شکل 30-3)

    شکل 30-3

    SQL

    SELECT Instrument.groupID, Instrument.subgrpID, Instrument.Ins_name, Instrument.Aks_code, Instrument.tech_spcification,

                Instrument.local_code, Instrument.existance, Instrument.details, Instrument.offering_comp

    FROM Instrument

    WHERE (((Instrument.Ins_name)=forms!namesearchresult!text23))

    ORDER BY Instrument.Aks_code;

    Query Parameters

                Name                           Type

                forms!namesearchresult!text23     Text

    Columns

                Name                                                              Type                             Size

                groupID                                                          Long Integer                               4

                subgrpID                                                        Long Integer                               4

                Ins_name                                                       Text                                            50

                Aks_code                                                       Text                                            50

                tech_spcification                                           Memo                                       N/A

                local_code                                                      Text                                            50

                existance                                                        Long Integer                               4

                details                                                             Replication ID                         N/A

                offering_comp                                               Text                                            50

    8-4-3 نام query : Query43

    این query جزئیات تجهیز خاص مورد نظر را از لیست تجهیزاتـی که در گزارش بر اساس تمام یا بخشی از نام  خاص بدست آمده است را با توجه به کد Aks  آن فیلتر می کند.(شکل 31-3)

    شکل 31-3

    SQL

    SELECT Instrument.groupID, Instrument.subgrpID, Instrument.Ins_name, Instrument.Aks_code, Instrument.tech_spcification,

                Instrument.local_code, Instrument.existance, Instrument.details, Instrument.offering_comp

    FROM Instrument

    WHERE (((Instrument.Aks_code)=forms!namesearchresult!text23))

    ORDER BY Instrument.Aks_code;

    Query Parameters

                Name                           Type

                forms!namesearchresult!text23     Text

    Columns

                Name                                                              Type                             Size

                groupID                                                          Long Integer                               4

                subgrpID                                                        Long Integer                               4

                Ins_name                                                       Text                                            50

                Aks_code                                                       Text                                            50

                tech_spcification                                           Memo                                       N/A

                local_code                                                      Text                                            50

                existance                                                        Long Integer                               4

                details                                                             Replication ID                         N/A

                offering_comp                                               Text                                            50

    5-3 ساختار ماژول های بکار رفته در بانک اطلاعاتی

    Module: basBrowseFiles                                                                                             Page: 1

    Properties

      Container:                 Modules                       DateCreated:             2006/11/06 12:03:26 ب.ظ

      LastUpdated:           2006/11/06 12:03:26 ب.ظ                                Owner:             admin

      UserName:                admin

    Code

              1   Attribute VB_Name = "basBrowseFiles"

              2   Option Compare Database

              3   Option Explicit

              4

              5

              6   '.=========================================================================

              7   '.Browse Files Module

              8   '

              9   '

            10   '

            11   '.=========================================================================

            12   ' DO NOT DELETE THE COMMENTS ABOVE.  All other comments in this module

            13   ' may be deleted from production code, but lines above must remain.

            14   '--------------------------------------------------------------------------

            15   '.Description  : This module calls directly into comdlg32.dll to allow user

            16   '.               to select a filename using the Windows Common Dialog.  The

            17   '.               user may browse for a file, or enter a file name directly.

            18   '.

            19   '.

            20   '.Rev. History :

            21   ' Comments     : Normally, to use the Common Dialog you need to physically

            22   '                place the ActiveX control onto a form and then use code

            23   '                behind the form to implement its functionality.  This

            24   '                module allows you to incorporate the functionality of the

            25   '                File Open/Save part of the Common Dialog without the

            26   '                ActiveX control itself. This module is completely self-

            27   '                contained.  Simply copy it into your database to use it.

            28   '.-------------------------------------------------------------------------

            29   '.

            30   ' ADDITIONAL NOTES:

            31   '

            32   '  This module only provides the Open/Save file dialog, not the other

            33   '  CommonDialog interfaces (ColorChooser, Help, PrintDialog, etc.)

            34   '

            35   '  If you want your user to browse for folder names (paths) you must use

            36   '  the module basBrowseFolders instead.

            37   '

            38   '  TO STREAMLINE this module for production programs, you should remove:

            39   '     1) Unnecessary comments

            40   '     2) Flag Constants which you do not intend to use.

            41   '     3) The test procedure tsGetFileFromUserTest

            42   '

    Module: basBrowseFiles                                                                                             Page: 2

            43   '--------------------------------------------------------------------------

            44   '

            45   ' INSTRUCTIONS:

            46   '

            47   '         ( For a working example, open the Debug window  )

            48   '         ( and enter tsGetFileFromUserTest.              )

            49   '

            50   '.All the arguments for the function are optional.  You may call it with no

            51   '.arguments whatsoever and simply assign its return value to a variable of

            52   '.the Variant type.  For example:

            53   '.

            54   '.   varFileName = tsGetFileFromUser()

            55   '.

            56   '.The function will return:

            57   '.   the full path and filename selected or entered by the user, or

            58   '.   Null if an error occurs or if the user presses Cancel.

            59   '.

            60   '.Optional arguments may include any of the following:

            61   '. rlngFlags      : one or more of the tscFN* constants (declared below)

            62   '.                  Combine multiple constants like this:

            63   '.                   tscFNHideReadOnly Or tscFNFileMustExist

            64   '. strInitialDir : the directory to display when dialog opens

            65   '. strFilter     : a string containing any filters you want to use. Each

            66   '.                 part must be separated by the vbNullChar. -example below

            67   '. lngFilterIndex: a 1-based index indicating which filter to start with.

            68   '. strDefaultExt : Extension to use if user does not enter one.

            69   '. strFileName   : Default File to display in the File Name text box.

            70   '. strDialogTitle: Caption to display in the dialog's title bar.

            71   '. fOpenFile     : Boolean-True for the Open dialog, False for Save dialog.

            72   '

            73   ' FILTER EXAMPLE: The filter must be a string containing two parts for each

            74   '  filter.  The first part is the Description, it is what the user will see

            75   '  in the Files of Type box, e.g. "Text Files (*.txt)".  The second part is

            76   '  the actual filter, e.g. "*.txt".  Each part and each filter must be

            77   '  separated by the vbNullChar.  For example, to provide two filters, one for

            78   '  *.mdb files, and one for all files, use a statement like this:

            79   '

            80   '  strFilter = "Access (*.mdb)" & vbNullChar & "*.mdb" _

            81   '   & vbNullChar & "All Files (*.*)" & vbNullChar & "*.*"

            82   '

            83   '  Then pass your strFilter variable as the strFilter argument for the call

            84   '  to tsGetFileFromUser()

            85   '

            86   '.--------------------------------------------------------------------------

            87   '.

            88

            89   Private Declare Function ts_apiGetOpenFileName Lib "comdlg32.dll" _

            90   Alias "GetOpenFileNameA" (tsFN As tsFileName) As Boolean

            91

            92   Private Declare Function ts_apiGetSaveFileName Lib "comdlg32.dll" _

            93   Alias "GetSaveFileNameA" (tsFN As tsFileName) As Boolean

            94

            95   Private Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long

            96

    Module: basBrowseFiles                                                                                             Page: 3

            97   Private Type tsFileName

            98      lStructSize As Long

            99      hwndOwner As Long

          100      hInstance As Long

          101      strFilter As String

          102      strCustomFilter As String

          103      nMaxCustFilter As Long

          104      nFilterIndex As Long

          105      strFile As String

          106      nMaxFile As Long

          107      strFileTitle As String

          108      nMaxFileTitle As Long

          109      strInitialDir As String

          110      strTitle As String

          111      flags As Long

          112      nFileOffset As Integer

          113      nFileExtension As Integer

          114      strDefExt As String

          115      lCustData As Long

          116      lpfnHook As Long

          117      lpTemplateName As String

          118   End Type

          119

          120   ' Flag Constants

          121   Public Const tscFNAllowMultiSelect = &H200

          122   Public Const tscFNCreatePrompt = &H2000

          123   Public Const tscFNExplorer = &H80000

          124   Public Const tscFNExtensionDifferent = &H400

          125   Public Const tscFNFileMustExist = &H1000

          126   Public Const tscFNPathMustExist = &H800

          127   Public Const tscFNNoValidate = &H100

          128   Public Const tscFNHelpButton = &H10

          129   Public Const tscFNHideReadOnly = &H4

          130   Public Const tscFNLongNames = &H200000

          131   Public Const tscFNNoLongNames = &H40000

          132   Public Const tscFNNoChangeDir = &H8

          133   Public Const tscFNReadOnly = &H1

          134   Public Const tscFNOverwritePrompt = &H2

          135   Public Const tscFNShareAware = &H4000

          136   Public Const tscFNNoReadOnlyReturn = &H8000

          137   Public Const tscFNNoDereferenceLinks = &H100000

          138

          139   Public Function tsGetFileFromUser( _

          140   Optional ByRef rlngflags As Long = 0&, _

          141   Optional ByVal strInitialDir As String = "", _

          142   Optional ByVal strFilter As String = "All Files (*.*)" & vbNullChar & "*.*", _

          143   Optional ByVal lngFilterIndex As Long = 1, _

          144   Optional ByVal strDefaultExt As String = "", _

          145   Optional ByVal strFileName As String = "", _

          146   Optional ByVal strDialogTitle As String = "", _

          147   Optional ByVal fOpenFile As Boolean = True) As Variant

          148     

          149      On Error GoTo tsGetFileFromUser_Err

          150      Dim tsFN As tsFileName

    Module: basBrowseFiles                                                                                             Page: 4

          151      Dim strFileTitle As String

          152      Dim fResult As Boolean

          153

          154      ' Allocate string space for the returned strings.

          155      strFileName = Left(strFileName & String(256, 0), 256)

          156     strFileTitle = String(256, 0)

          157

          158      ' Set up the data structure before you call the function

          159      With tsFN

          160         .lStructSize = Len(tsFN)

          161         .hwndOwner = Application.hWndAccessApp

          162         .strFilter = strFilter

          163         .nFilterIndex = lngFilterIndex

          164         .strFile = strFileName

          165         .nMaxFile = Len(strFileName)

          166         .strFileTitle = strFileTitle

          167         .nMaxFileTitle = Len(strFileTitle)

          168         .strTitle = strDialogTitle

          169         .flags = rlngflags

          170         .strDefExt = strDefaultExt

          171         .strInitialDir = strInitialDir

          172         .hInstance = 0

          173         .strCustomFilter = String(255, 0)

          174         .nMaxCustFilter = 255

          175         .lpfnHook = 0

          176      End With

          177     

          178      ' Call the function in the windows API

          179      If fOpenFile Then

          180         fResult = ts_apiGetOpenFileName(tsFN)

          181      Else

          182         fResult = ts_apiGetSaveFileName(tsFN)

          183      End If

          184

          185      ' If the function call was successful, return the FileName chosen

          186      ' by the user.  Otherwise return null.  Note, the CancelError property

          187      ' used by the ActiveX Common Dialog control is not needed.  If the

          188      ' user presses Cancel, this function will return Null.

          189      If fResult Then

          190         rlngflags = tsFN.flags

          191         tsGetFileFromUser = tsTrimNull(tsFN.strFile)

          192      Else

          193         tsGetFileFromUser = Null

          194      End If

          195     

          196   tsGetFileFromUser_End:

          197      On Error GoTo 0

          198      Exit Function

          199

          200   tsGetFileFromUser_Err:

          201      Beep

          202      MsgBox Err.Description, , "Error: " & Err.Number _

          203       & " in function basBrowseFiles.tsGetFileFromUser"

          204      Resume tsGetFileFromUser_End

    Module: basBrowseFiles                                                                                             Page: 5

          205

          206   End Function

          207

          208   ' Trim Nulls from a string returned by an API call.

          209

          210   Private Function tsTrimNull(ByVal strItem As String) As String

          211     

          212      On Error GoTo tsTrimNull_Err

          213      Dim I As Integer

          214     

          215      I = InStr(strItem, vbNullChar)

          216      If I > 0 Then

          217          tsTrimNull = Left(strItem, I - 1)

          218      Else

          219          tsTrimNull = strItem

          220      End If

          221      

          222   tsTrimNull_End:

          223      On Error GoTo 0

          224      Exit Function

          225

          226   tsTrimNull_Err:

          227      Beep

          228      MsgBox Err.Description, , "Error: " & Err.Number _

          229       & " in function basBrowseFiles.tsTrimNull"

          230      Resume tsTrimNull_End

          231

          232   End Function

          233

          234

    Module: cBackupRestore                                                                                            Page: 6

    Properties

      Container:                 Modules                       DateCreated:             2006/10/22 07:19:23 ق.ظ

      LastUpdated:           2006/10/22 07:19:23 ق.ظ                                 Owner:             admin

      UserName:                admin

    Code

              1   VERSION 1.0 CLASS

              2   BEGIN

              3     MultiUse = -1  'True

              4   END

              5   Attribute VB_Name = "cBackupRestore"

              6   Attribute VB_GlobalNameSpace = False

              7   Attribute VB_Creatable = False

              8   Attribute VB_PredeclaredId = True

              9   Attribute VB_Exposed = False

            10   Option Compare Database

            11   Option Explicit

            12

            13   Private mintErrorTrap As Integer

            14

            15   Private mstrRootFolder As String

            16   Private mstrDBName As String

            17

            18   Private Const mconTABLES = "tables"

            19   Private Const mconQUERIES = "queries"

            20   Private Const mconFORMS = "forms"

            21   Private Const mconREPORTS = "reports"

            22   Private Const mconMACROS = "macros"

            23   Private Const mconMODULES = "modules"

            24   Private Const mconBACKUP_FOLDER = "backups.wzb"

            25

            26   'Stores complete path to backup folders

            27   Private mcolFolders As Collection

            28

            29   'the files in a specific backup folder

            30   Private mcolFiles As Collection

            31

            32   Public Function GetFileNames(ObjectType As Integer) As String

            33   'For a particular object type, return all the backup

            34   'files present in a backup folder as a string

            35   '

            36   On Error GoTo ErrHandler

            37   Dim colFiles As Collection

            38   Dim strFile As String

            39   Dim strFolder As String

            40   Dim I As Integer

            41   Dim strOut As String

            42     

            43      'First, read the files present in object's backup folder

            44      Call sInitCollection(ObjectType)

    Module: cBackupRestore                                                                                            Page: 7

            45     

            46      'Now return all the names read previously as formatted

            47      'for a two column listbox, first col.=VersionNumber and

            48      'SecondColumn=actual FileName w/o the version info

            49      strOut = "Version;FileName;"

            50      For I = 1 To mcolFiles.Count

            51         strFile = mcolFiles.Item(I)

            52         If (ObjectType = acTable) Then

            53           strOut = strOut _

            54                        & Mid$(strFile, InStr(strFile, "_") + 1, InStr(strFile, ".") - InStr(strFile, "_") - 1) _

            55                        & ";" & Left$(strFile, InStr(strFile, "_") - 1) & ";"

            56         Else

            57           strOut = strOut _

            58                        & Right$(strFile, Len(strFile) - InStr(strFile, ".")) _

            59                        & ";" & Left$(strFile, InStr(strFile, ".") - 1) & ";"

            60       End If

            61      Next

            62      strOut = Left$(strOut, Len(strOut) - 1)

            63      GetFileNames = strOut

            64   ExitHere:

            65      Exit Function

            66   ErrHandler:

            67      GetFileNames = vbNullString

            68      Resume ExitHere

            69   End Function

            70

            71   Private Sub sInitCollection(intObjectType As Integer)

            72   Dim strFile As String

            73   Dim strFolder As String

            74

            75      'refresh folders collection

            76      Call sCheckSubDir(False)

            77     

            78      'Now get the files for this particular index

            79      Set mcolFiles = New Collection

            80     

            81      strFolder = mcolFolders(intObjectType & vbNullString) & "\"

            82      strFile = Dir(strFolder, vbNormal)

            83      Do While Not strFile = vbNullString

            84         mcolFiles.Add Item:=strFile, key:=strFile

            85         strFile = Dir

            86      Loop

            87   End Sub

            88

            89   Public Function ImportObject(ObjectType As Integer, VersionNumber As Integer, FileName As String) As

                   String

            90   On Error GoTo ErrHandler

            91   Dim strFilePath As String

            92   Dim strNewObjectName As String

            93   Dim strImportName As String

            94

            95      'First read all files for this object

            96      Call sInitCollection(ObjectType)

            97     

    Module: cBackupRestore                                                                                            Page: 8

            98      'get teh complete path to the object folder being asked for

            99      If (ObjectType = acTable) Then

          100           strFilePath = mcolFolders(ObjectType & vbNullString) & "\" _

          101                           & FileName & "_" & VersionNumber & ".txt"

          102      Else

          103           strFilePath = mcolFolders(ObjectType & vbNullString) & "\" _

          104                           & FileName & "." & VersionNumber

          105       End If

          106      

          107      'Make sure we know under what name was the object imported

          108      strNewObjectName = Application.Run("acwzmain.wlib_stUniqueDocName", _

          109                                          FileName, ObjectType)

          110                                         

          111       If Not strNewObjectName = FileName Then

          112           strImportName = strNewObjectName

          113       Else

          114           strImportName = FileName

          115       End If

          116      

          117       If (ObjectType = acTable) Then

          118           DoCmd.TransferText acImportDelim, , strImportName, strFilePath, True

          119       Else

          120           Application.LoadFromText ObjectType, _

          121                  strImportName, _

          122                  strFilePath

          123       End If

          124      

          125      ImportObject = strImportName

          126   ExitHere:

          127      Exit Function

          128   ErrHandler:

          129       MsgBox "Error: " & Err.Number & vbCrLf & Err.Description, vbOKOnly Or vbCritical

          130      ImportObject = vbNullString

          131      Resume ExitHere

          132   End Function

          133

          134   Public Sub ExportObjects(rsDynaset As Recordset)

          135   'SaveAsText all objects whose names are present

          136   'in this recordset and update the revision number

          137   '

          138   On Error GoTo ErrHandler

          139   Dim strDestination As String

          140

          141      'check for specific object folders underneath mconBACKUP_FOLDER

          142      'Create any if need be

          143      Call sCheckSubDir(True)

          144

          145      With rsDynaset

          146         Do While Not .EOF

          147              

          148            'Get the folder path

          149            If (!ObjectType <> acTable) Then

          150               strDestination = mcolFolders(!ObjectType & vbNullString) & "\" _

          151                                                & !ObjectName & "." & !RevisionNumber

    Module: cBackupRestore                                                                                            Page: 9

          152            Else

          153               strDestination = mcolFolders(!ObjectType & vbNullString) & "\" _

          154                                                & !ObjectName & "_" & !RevisionNumber & ".txt"

          155            End If

          156           

          157            Call SysCmd(acSysCmdSetStatus, "Exporting " & pconQ & !ObjectName & pconQ & "....")

          158            If !ObjectType = 0 Then

          159               'If it's a table object, use TransferText instead.

          160               DoCmd.TransferText acExportDelim, , !ObjectName, strDestination, True

          161            Else

          162               'Otherwise call the undocumented SaveAsText method

          163               Call Application.SaveAsText(!ObjectType, !ObjectName, strDestination)

          164            End If

          165            'Now increment the RevisionNumber for

          166            'the next time around.

          167            .Edit

          168               !RevisionNumber = !RevisionNumber + 1

          169               !BackupRecommended = False

          170               !LastBackupTimeStamp = Now()

          171            .Update

          172            .MoveNext

          173         Loop

          174      End With

          175   ExitHere:

          176      On Error Resume Next

          177      Call SysCmd(acSysCmdClearStatus)

          178      Exit Sub

          179   ErrHandler:

          180      Err.Raise pconERR_BASE + 4, "cBackupRestore::ExportObjects", _

          181         "Specified object does not exist in source database."

          182      Resume ExitHere

          183   End Sub

          184

          185   Public Property Let FolderPath(Value As String)

          186   'Where do we want to place all the exports?

          187   '

          188      'If the folder doesn't exist, return an error

          189      If Dir(Value, vbDirectory) = vbNullString Then _

          190         Err.Raise pconERR_BASE + 1, "cBackupRestore::FolderPath", _

          191            "Invalid path specified"

          192      mstrRootFolder = Value

          193      If Not Right$(mstrRootFolder, 1) = "\" Then _

          194         mstrRootFolder = mstrRootFolder & "\"

          195   End Property

          196

          197   Private Sub sCheckSubDir(blnCreateSubFolders As Boolean)

          198   On Error GoTo ErrHandler

          199   Dim strPath As String

          200      strPath = mstrRootFolder & mconBACKUP_FOLDER & "\"

          201     

          202      'If the backup folder (mconBACKUP_FOLDER) doesn't exist

          203      'under this folder, create it

          204      If Dir(mstrRootFolder & mconBACKUP_FOLDER, vbDirectory) = vbNullString Then

          205         If blnCreateSubFolders Then

    Module: cBackupRestore                                                                                          Page: 10

          206            Call MkDir(mstrRootFolder & mconBACKUP_FOLDER)

          207         End If

          208      End If

          209     

          210      'If object specific folders don't exist under mconBACKUP_FOLDER

          211      'Create them on the fly if needed (blnCreateSubFolders)

          212      If Dir(strPath & mconTABLES, vbDirectory) = vbNullString Then

          213         If blnCreateSubFolders Then

          214            Call MkDir(strPath & mconTABLES)

          215         End If

          216      End If

          217      mcolFolders.Add Item:=strPath & mconTABLES, key:=acTable & vbNullString

          218     

          219      If Dir(strPath & mconQUERIES, vbDirectory) = vbNullString Then

          220         If blnCreateSubFolders Then

          221            Call MkDir(strPath & mconQUERIES)

          222         End If

          223     End If

          224      mcolFolders.Add Item:=strPath & mconQUERIES, key:=acQuery & vbNullString

          225     

          226      If Dir(strPath & mconFORMS, vbDirectory) = vbNullString Then

          227         If blnCreateSubFolders Then

          228            Call MkDir(strPath & mconFORMS)

          229         End If

          230      End If

          231      mcolFolders.Add Item:=strPath & mconFORMS, key:=acForm & vbNullString

          232

          233      If Dir(strPath & mconREPORTS, vbDirectory) = vbNullString Then

          234         If blnCreateSubFolders Then

          235            Call MkDir(strPath & mconREPORTS)

          236         End If

          237      End If

          238      mcolFolders.Add Item:=strPath & mconREPORTS, key:=acReport & vbNullString

          239

          240      If Dir(strPath & mconMACROS, vbDirectory) = vbNullString Then

          241         If blnCreateSubFolders Then

          242            Call MkDir(strPath & mconMACROS)

          243         End If

          244      End If

          245      mcolFolders.Add Item:=strPath & mconMACROS, key:=acMacro & vbNullString

          246    

          247      If Dir(strPath & mconMODULES, vbDirectory) = vbNullString Then

          248         If blnCreateSubFolders Then

          249            Call MkDir(strPath & mconMODULES)

          250         End If

          251      End If

          252      mcolFolders.Add Item:=strPath & mconMODULES, key:=acModule & vbNullString

          253

          254   ExitHere:

          255      Exit Sub

          256   ErrHandler:

          257      Err.Raise pconERR_BASE + 2, "cBackupRestore::sCreateSubDirs", _

          258         "Error: " & Err.Description & "(" & Err.Number & ")"

          259      Resume ExitHere

    Module: cBackupRestore                                                                                          Page: 11

          260   End Sub

          261

          262   Private Sub Class_Initialize()

          263      mintErrorTrap = Application.GetOption("Error Trapping")

          264      Call Application.SetOption("Error Trapping", 2)

          265      Set mcolFolders = New Collection

          266   End Sub

          267

          268   Private Sub Class_Terminate()

          269      Call Application.SetOption("Error Trapping", mintErrorTrap)

          270      Set mcolFolders = Nothing

          271   End Sub

          272

    Module: Converted Macro- mcrdelete                                                                      Page: 12

    Properties

      Container:                 Modules                       DateCreated:             2006/10/22 07:19:23 ق.ظ

      LastUpdated:           2006/10/22 07:19:23 ق.ظ                                 Owner:             admin

      UserName:                admin

    Code

              1   Attribute VB_Name = "Converted Macro- mcrdelete"

              2   Option Compare Database

              3

              4   '------------------------------------------------------------

              5   ' mcrdelete

              6   '

              7   '------------------------------------------------------------

              8   Function mcrdelete()

              9   On Error GoTo mcrdelete_Err

            10

            11       DoCmd.SetWarnings False

            12       DoCmd.RunCommand acCmdDeleteRecord

            13

            14

            15   mcrdelete_Exit:

            16       Exit Function

            17

            18   mcrdelete_Err:

            19       MsgBox Error$

            20       Resume mcrdelete_Exit

            21

            22   End Function

            23

            24

    Module: Global Code                                                                                               Page: 13

    Properties

      Container:                 Modules                       DateCreated:             2006/10/22 07:19:23 ق.ظ

      LastUpdated:           2006/10/22 07:19:23 ق.ظ                                 Owner:             admin

      UserName:                admin

    Code

              1   Attribute VB_Name = "Global Code"

              2   Option Compare Database

              3   Option Explicit

              4

              5   Function IsLoaded(ByVal strFormName As String) As Integer

              6   ' Returns True if the specified form is open in Form view or Datasheet view.

              7      

              8       Const conObjStateClosed = 0

              9       Const conDesignView = 0

            10      

            11       If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then

            12           If Forms(strFormName).CurrentView <> conDesignView Then

            13               IsLoaded = True

            14           End If

            15       End If

            16      

            17   End Function

            18

            19   Function ShowMenuBar(Optional strSwitchboardTableName As String = "Switchboard Items")

            20   Dim strProcName As String

            21   Dim Marker As Integer

            22

            23   On Error GoTo Err_Section

            24   strProcName = "ShowMenuBar"

            25   Marker = 1

            26

            27   abs_CreateSwitchboardMenuBar strSwitchboardTableName

            28

            29   Exit_Section:

            30       On Error Resume Next

            31       On Error GoTo 0

            32       Exit Function

            33   Err_Section:

            34       Beep

            35       MsgBox "Error in " & strProcName & " (" & Marker & "): " & Err.Number & " - " & Err.Description

            36       Err.Clear

            37       Resume Exit_Section

            38   End Function

            39   Function GoToOrderHyperlink(strApp As String)

            40   Dim strProcName As String

            41   Dim Marker As Integer

            42

            43   On Error GoTo Err_Section

    Module: Global Code                                                                                               Page: 14

            44   strProcName = "GoToOrderHyperlink"

            45   Marker = 1

            46

            47   Dim s As String

            48   Dim strHyperlink As String

            49   Dim strAppName As String

            50

            51   Select Case strApp

            52   Case "abs"

            53       'pddxxx

            54       strAppName = "A Better Switchboard"

            55       strHyperlink = "https://www.swreg.org/soft_shop/224/shopscr27.shtml"

            56   Case Else

            57   End Select

            58

            59   s = ""

            60   s = s & "This menu option will open a browser window to a secure web site where you can order " &

                   strAppName & " with your credit card. "

            61   s = s & vbCrLf & vbCrLf

            62   s = s & "Do you wish to continue?"

            63   Beep

            64   If MsgBox(s, vbYesNo) = vbYes Then

            65   Else

            66       MsgBox "Action cancelled."

            67       GoTo Exit_Section

            68   End If

            69

            70   Application.FollowHyperlink strHyperlink, , True

            71

            72   Exit_Section:

            73       On Error Resume Next

            74       On Error GoTo 0

            75       Exit Function

            76   Err_Section:

            77       Beep

            78       MsgBox "Error in " & strProcName & " (" & Marker & "): " & Err.Number & " - " & Err.Description

            79       Err.Clear

            80       Resume Exit_Section

            81   End Function

            82   Function OpenSBDemo(Optional strSwitchboardFormName As String = "Switchboard Rect Highlight")

            83   Dim Marker As Integer

            84

            85   On Error GoTo Err_Section

            86   Marker = 1

            87

            88   If Screen.ActiveForm.Name <> strSwitchboardFormName Then

            89       On Error Resume Next

            90       DoCmd.Close acForm, Screen.ActiveForm.Name

            91       Err.Clear

            92       On Error GoTo Err_Section

            93      

            94       DoCmd.OpenForm strSwitchboardFormName

            95   End If

    Module: Global Code                                                                                               Page: 15

            96

            97   Exit_Section:

            98       On Error Resume Next

            99       On Error GoTo 0

          100       Exit Function

          101   Err_Section:

          102       Beep

          103       MsgBox "Error in OpenSBDemo (" & Marker & "): " & Err.Number & " - " & Err.Description

          104       Err.Clear

          105       Resume Exit_Section

          106   End Function

          107

          108

    Module: modMain                                                                                                    Page: 16

    Properties

      Container:                 Modules                       DateCreated:             2006/10/22 07:19:23 ق.ظ

      LastUpdated:           2006/10/22 07:19:23 ق.ظ                                 Owner:             admin

      UserName:                admin

    Code

              1   Attribute VB_Name = "modMain"

              2   Option Compare Database

              3   Option Explicit

              4

              5   Private Type BROWSEINFO

              6     hOwner As Long

              7     pidlRoot As Long

              8     pszDisplayName As String

              9     lpszTitle As String

            10     ulFlags As Long

            11     lpfn As Long

            12     lParam As Long

            13     iImage As Long

            14   End Type

            15

            16   Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _

            17               "SHGetPathFromIDListA" (ByVal pidl As Long, _

            18               ByVal pszPath As String) As Long

            19              

            20   Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _

            21               "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) _

            22               As Long

            23              

            24   Private Const BIF_RETURNONLYFSDIRS = &H1

            25

            26   Public Const pconQ = """"

            27   Public Const pconERR_BASE = vbObjectError + 5000

            28

            29   Sub sExportObjects(lngID As Long)

            30   'Export out all objects to text format

            31   'where BackupRecommended = true for a

            32   'particular database

            33   '

            34   On Error GoTo ErrHandler

            35   Dim clsBackup As cBackupRestore

            36   Dim intRevNo As Integer

            37   Dim rsCurr As Recordset

            38   Dim dbCurr As Database

            39   Dim dbRemote As Database

            40   Dim strSQL As String

            41   Dim strPath As String

            42

            43      Set clsBackup = New cBackupRestore

            44      Set dbCurr = CodeDb

    Module: modMain                                                                                                    Page: 17

            45      Set dbRemote = CurrentDb

            46     

            47      'We only want the info pertaining to currentDB

            48      strSQL = "Select DatabaseName, FolderPath from tblDatabases Where " _

            49                        & "dbID=" & lngID

            50      Set rsCurr = dbCurr.OpenRecordset(strSQL, dbOpenSnapshot)

            51      If rsCurr.RecordCount > 0 Then

            52         'Get the path where the exports are supposed to be located

            53         strPath = rsCurr!FolderPath

            54         clsBackup.FolderPath = strPath

            55         'Now get a list of all objects for CurrentDB which

            56         'are recommended to be backed up

            57         strSQL = "Select * from tblObjects where dbID=" & lngID _

            58                              & " And BackupRecommended=True"

            59         Set rsCurr = dbCurr.OpenRecordset(strSQL, dbOpenDynaset)

            60         'Export out all objects in this recordset

            61         clsBackup.ExportObjects rsCurr

            62      End If

            63     

            64      'Reset BackupRecommended for next time around

            65      strSQL = "UPDATE tblObjects SET BackupRecommended = False " _

            66                        & "WHERE (BackupRecommended=True) AND DBId=" & lngID

            67

            68      dbCurr.Execute strSQL, dbFailOnError

            69     

            70      MsgBox "All selected objects were successfully saved in text format in the folder" _

            71         & vbCrLf & pconQ & strPath & pconQ & ".", vbInformation, "Export successful."

            72   ExitHere:

            73      On Error Resume Next

            74      Set rsCurr = Nothing

            75      Set dbCurr = Nothing

            76      Set dbRemote = Nothing

            77      Set clsBackup = Nothing

            78      Exit Sub

            79   ErrHandler:

            80      MsgBox "Error#: " & Err.Number & vbCrLf & Err.Description, vbCritical, "sExportObjects"

            81      Resume ExitHere

            82   End Sub

            83

            84   Sub sLogLastUpdateStamp(lngID As Long)

            85   'DAO replacement for an Action query since

            86   'functions in SQL statement generate an

            87   'error from Add-ins

            88   '

            89   'Read the time all objects in CurrentDB were last updated

            90   '

            91   On Error GoTo ErrHandler

            92   Dim strSQL As String

            93   Dim dbCurr As Database

            94   Dim rsCurr As Recordset

            95

            96      Set dbCurr = CodeDb

            97      'Which objects we need to look up?

            98      strSQL = "Select LastUpdated, ObjectType, ObjectName From " _

    Module: modMain                                                                                                    Page: 18

            99                        & "tblObjects Where DBID = " & lngID

          100      Set rsCurr = dbCurr.OpenRecordset(strSQL, dbOpenDynaset)

          101      With rsCurr

          102         If .RecordCount > 0 Then

          103            Do While Not .EOF

          104               .Edit

          105                  'Get the LastUpdated stamp from the container

          106                  !LastUpdated = fGetLastUpdateStamp(!ObjectType, _

          107                                                                     !ObjectName)

          108               .Update

          109              .MoveNext

          110            Loop

          111         End If

          112      End With

          113

          114   ExitHere:

          115      Set rsCurr = Nothing

          116      Set dbCurr = Nothing

          117      Exit Sub

          118   ErrHandler:

          119      MsgBox Err.Description & " (" & Err.Number & ")", vbCritical, "sLogLastUpdateStamp"

          120      Resume ExitHere

          121   End Sub

          122

          123   Sub sDetermineExportList(lngID As Long)

          124   'DAO replacement for an Action query since

          125   'functions in SQL statement generate an

          126   'error from Add-ins

          127   '

          128   'Once we have the LastUpdated time for all objects

          129   ' in the container, figure out which ones to

          130   ' recommend to be backed up.

          131   '

          132   On Error GoTo ErrHandler

          133   Dim strSQL As String

          134   Dim dbCurr As Database

          135   Dim rsCurr As Recordset

          136

          137      Set dbCurr = CodeDb

          138      strSQL = "Select BackupRecommended, Lastupdated, DBID, LastBackupTimeStamp  " _

          139                        & " From tblObjects Where DBID = " & lngID

          140      Set rsCurr = dbCurr.OpenRecordset(strSQL, dbOpenDynaset)

          141      With rsCurr

          142         If .RecordCount > 0 Then

          143            Do While Not .EOF

          144               'only if the object has been modified since the

          145               'last time we backed it up.

          146               If !LastUpdated > Nz(!LastBackupTimeStamp) Then

          147                  .Edit

          148                     !BackupRecommended = True

          149                  .Update

          150               End If

          151               .MoveNext

          152            Loop

    Module: modMain                                                                                                    Page: 19

          153         End If

          154      End With

          155

          156   ExitHere:

          157      Set rsCurr = Nothing

          158      Set dbCurr = Nothing

          159      Exit Sub

          160   ErrHandler:

          161      MsgBox Err.Description & " (" & Err.Number & ")", vbCritical, "sDetermineExportList"

          162      Resume ExitHere

          163   End Sub

          164

          165   Function fGetLastUpdateStamp(intObjectType As Integer, strObjectName As String) As Variant

          166   'Returns the LastUpdated property value of a database object

          167   '

          168   On Error GoTo ErrHandler

          169   Dim db As Database

          170   Dim datOut As Date

          171

          172      Set db = CurrentDb

          173     

          174      Select Case intObjectType

          175         Case acTable:

          176            datOut = db.TableDefs(strObjectName).LastUpdated

          177         Case acQuery:

          178            datOut = db.QueryDefs(strObjectName).LastUpdated

          179         Case acForm:

          180            datOut = db.Containers("Forms").Documents(strObjectName).LastUpdated

          181         Case acReport:

          182            datOut = db.Containers("Reports").Documents(strObjectName).LastUpdated

          183         Case acMacro:

          184            datOut = db.Containers("Scripts").Documents(strObjectName).LastUpdated

          185         Case acModule:

          186            datOut = db.Containers("Modules").Documents(strObjectName).LastUpdated

          187      End Select

          188      fGetLastUpdateStamp = datOut

          189   ExitHere:

          190      Set db = Nothing

          191      Exit Function

          192   ErrHandler:

          193      fGetLastUpdateStamp = Null

          194      Resume ExitHere

          195   End Function

          196

          197   Function fCreateCatalog(strDBName As String, strDBPath As String) As Boolean

          198   'Create a new entry in tblDatabases for the CurrentDB

          199   'and get a list of all objects from CurrentDB into tblObjects

          200   '

          201   On Error GoTo ErrHandler

          202   Dim db As Database

          203   Dim tdfRemote As TableDef

          204   Dim qdfRemote As QueryDef

          205   Dim docRemote As Document

          206   Dim ctrRemote As Container

    Module: modMain                                                                                                    Page: 20

          207   Dim dbRemote As Database

          208   Dim rs As Recordset

          209   Dim rsObj As Recordset

          210   Dim lngID As Long

          211

          212      Set db = CodeDb

          213      Set dbRemote = CurrentDb

          214      Set rs = db.OpenRecordset("tblDatabases", dbOpenDynaset)

          215      Set rsObj = db.OpenRecordset("tblObjects", dbOpenDynaset)

          216      'Add the new database name

          217      With rs

          218         .AddNew

          219            !DatabaseName = strDBName

          220            !FolderPath = strDBPath

          221         .Update

          222         .Bookmark = .LastModified

          223         'Which ID got assigned to it?

          224         lngID = !DBId

          225      End With

          226     

          227      'All the tables

          228      Call SysCmd(acSysCmdInitMeter, "Cataloging all tables...", dbRemote.TableDefs.Count)

          229      For Each tdfRemote In dbRemote.TableDefs

          230         'Don't read system or temp/deleted tables

          231         If (tdfRemote.Attributes And dbSystemObject) = False _

          232                  And Not Left$(tdfRemote.Name, 1) = "~" Then

          233            With rsObj

          234               .AddNew

          235                  !DBId = lngID

          236                  !ObjectType = acTable

          237                  !ObjectName = tdfRemote.Name

          238               .Update

          239            End With

          240         End If

          241         Call SysCmd(acSysCmdUpdateMeter, 1)

          242      Next

          243     

          244      'All the queryDefs

          245      Call SysCmd(acSysCmdInitMeter, "Cataloging all queries...", dbRemote.QueryDefs.Count)

          246      For Each qdfRemote In dbRemote.QueryDefs

          247         'Don't read temp/deleted queries

          248         If Not Left$(qdfRemote.Name, 1) = "~" Then

          249            With rsObj

          250               .AddNew

          251                  !DBId = lngID

          252                  !ObjectType = acQuery

          253                  !ObjectName = qdfRemote.Name

          254               .Update

          255            End With

          256         End If

          257         Call SysCmd(acSysCmdUpdateMeter, 1)

          258      Next

          259     

          260      'All Forms

    Module: modMain                                                                                                    Page: 21

          261      Set ctrRemote = dbRemote.Containers("Forms")

          262      Call SysCmd(acSysCmdInitMeter, "Cataloging all forms...", ctrRemote.Documents.Count)

          263      For Each docRemote In ctrRemote.Documents

          264         'Don't read temp/deleted forms

          265         If Not Left$(docRemote.Name, 1) = "~" Then

          266            With rsObj

          267               .AddNew

          268                  !DBId = lngID

          269                  !ObjectType = acForm

          270                  !ObjectName = docRemote.Name

          271               .Update

          272            End With

          273         End If

          274         Call SysCmd(acSysCmdUpdateMeter, 1)

          275      Next

          276        

          277      'All Reports

          278      Set ctrRemote = dbRemote.Containers("Reports")

          279      Call SysCmd(acSysCmdInitMeter, "Cataloging all reports...", ctrRemote.Documents.Count)

          280      For Each docRemote In ctrRemote.Documents

          281          'Don't read temp/deleted Reports

          282         If Not Left$(docRemote.Name, 1) = "~" Then

          283            With rsObj

          284               .AddNew

          285                  !DBId = lngID

          286                  !ObjectType = acReport

          287                  !ObjectName = docRemote.Name

          288               .Update

          289            End With

          290         End If

          291         Call SysCmd(acSysCmdUpdateMeter, 1)

          292      Next

          293     

          294      'All Macros

          295      Set ctrRemote = dbRemote.Containers("Scripts")

          296      Call SysCmd(acSysCmdInitMeter, "Cataloging all macros...", ctrRemote.Documents.Count)

          297      For Each docRemote In ctrRemote.Documents

          298          'Don't read temp/deleted Macros

          299         If Not Left$(docRemote.Name, 1) = "~" Then

          300            With rsObj

          301               .AddNew

          302                  !DBId = lngID

          303                  !ObjectType = acMacro

          304                  !ObjectName = docRemote.Name

          305               .Update

          306            End With

          307         End If

          308         Call SysCmd(acSysCmdUpdateMeter, 1)

          309      Next

          310     

          311      'All Modules

          312      Set ctrRemote = dbRemote.Containers("Modules")

          313      Call SysCmd(acSysCmdInitMeter, "Cataloging all modules...", ctrRemote.Documents.Count)

          314      For Each docRemote In ctrRemote.Documents

    Module: modMain                                                                                                    Page: 22

          315          'Don't read temp/deleted Modules

          316         If Not Left$(docRemote.Name, 1) = "~" Then

          317            With rsObj

          318               .AddNew

          319                  !DBId = lngID

          320                  !ObjectType = acModule

          321                  !ObjectName = docRemote.Name

          322               .Update

          323            End With

          324         End If

          325         Call SysCmd(acSysCmdUpdateMeter, 1)

          326      Next

          327      fCreateCatalog = True

          328   ExitHere:

          329      On Error Resume Next

          330      Set rs = Nothing

          331      Set rsObj = Nothing

          332      Set docRemote = Nothing

          333      Set ctrRemote = Nothing

          334      Set qdfRemote = Nothing

          335      Set tdfRemote = Nothing

          336      Set dbRemote = Nothing

          337      Set db = Nothing

          338      Call SysCmd(acSysCmdRemoveMeter)

          339      Call SysCmd(acSysCmdClearStatus)

          340      Exit Function

          341   ErrHandler:

          342      fCreateCatalog = False

          343      Resume ExitHere

          344   End Function

          345

          346   Public Function BrowseFolder(szDialogTitle As String) As String

          347   'Bring up the BrowseFolder dialog so that

          348   'the user may select a new location for all backups

          349   '

          350     Dim X As Long, bi As BROWSEINFO, dwIList As Long

          351     Dim szPath As String, wPos As Integer

          352    

          353       With bi

          354           .hOwner = hWndAccessApp

          355           .lpszTitle = szDialogTitle

          356           .ulFlags = BIF_RETURNONLYFSDIRS

          357       End With

          358      

          359       dwIList = SHBrowseForFolder(bi)

          360       szPath = Space$(512)

          361       X = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)

          362      

          363       If X Then

          364           wPos = InStr(szPath, Chr(0))

          365           BrowseFolder = Left$(szPath, wPos - 1)

          366       Else

          367           BrowseFolder = ""

          368       End If

    Module: modMain                                                                                                    Page: 23

          369   End Function

          370

          371   Function CurrentDBDir() As String

          372   'From an original idea by

          373   'Ken Getz

          374   '

          375   Dim strDBPath As String

          376   Dim strDBFile As String

          377       strDBPath = CurrentDb.Name

          378       strDBFile = Dir(strDBPath)

          379       CurrentDBDir = Left(strDBPath, Len(strDBPath) - Len(strDBFile))

          380   End Function

          381

          382   Function fWZ_Init()

          383   'Entry point for the wizard

          384   '

          385      DoCmd.OpenForm "frmDatabases"

          386   End Function

          387

    این متن فقط قسمتی از پایان نامه بانک اطلاعات  می باشد

    جهت دریافت کل متن ، لطفا آن را خریداری نمایید

    قیمت فایل فقط 2,600 تومان

    خرید

    برچسب ها : اطلاعات , ذخیره سازی

    نظرات کاربران در مورد این کالا
    تا کنون هیچ نظری درباره این کالا ثبت نگردیده است.
    ارسال نظر