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

آشنايي با ويژوال بيسيك
ويژوال بيسيك يكي از اولين زبان هاي برنامه نويسي جهت تشكيل WYSIWYG  ( چيزي كه مي بينيد همان چيزي است كه بدست مي آوريد ) مي باشد . ويژوال بيسيك به جهت محيط تصويري آن ، يك زبان لذت بخش مي باشد . برنامه نويسي تحت ويندوز با ويژوال بيسيك اكثراً تنها به كشاندن و قرار دادن (Drag  &  Drop  ) اشياء گرافيكي ، از جعبه ابزار ( Tool box ) كه آن اشياء در آن قرار دارند به روي صفحه كاري نياز دارد . همانطور كه شما در حال اضافه كردن اشياء هستيد برنامه تحت ويندوز در پيش چشم شما ظاهر مي شود .
ويژوال بيسيك بيش از يك زبان برنامه نويسي مي باشد . اين زبان برنامه نويسي ، تمام اعمالي را كه در اجـراي برنـامـه ويـژوال بيسيك رخ مـي دهند تشـكيـل مي دهـد . با اين حال ، ايـن زبـان به رابـط كاربـر ( user   Inter  face  )  يـك تمركـز ثانويـه دارد . يـك بـرنامه تحـت وينـدوز ، درجـه اي بـالا از محـا وره ( Interaction )  با كاربر را ارائه مي كند . اين كار توسط عناصر گرافيكي كه كاربر بر روي صفحه نمـايـش مي بيند انجام مي گردد .
ميكروسافت اساس ويژوال بيسيك را بر مبناي “ زبان نويسي براي مبتديان ”  كه بيسيك نام دارد قرار داد . بيسيك بيش از 35 سال در گونه هاي مختلف موجود بوده است . طراحان اصلي زبان ، قصد ايجاد يك زبان برنامه نويسي را داشتند كه مبتديان بتوانند از آن استفاده كنند . برنامه نويسان تازه كار با بيسيك مي توانستند سريعاً ماهر شوند . زبانهاي برنامه نويسي ديگر آن روزها مانند كوبول ، فرترن و اسمبلي قبل از اينكه كسي بتواند از آنها به صورت مؤثر استفاده كند نياز به مطالعه بيشتري داشتند .
BASIC  سر نام كلمات Begginers  All – purpose   symbolic  Instruction  code  مي باشد .
بيسيك كاملاً يك زبان ” مبتني بر متن “  است بدين معني كه خروجي آن نيز “ مبتني بر متن ” مي باشد و بر خلاف برنامه هاي امروزه ، گرافيك و خروجيهاي پنجره اي “ windowed “  توليد نمي كند .
ميكروسافت ويژوال بيسيك را مستقيماً از زبان بيسيك اوليه ايجاد نكرد . اگر چه زبان بيسيك طي چندين مرحله در تاريخ 35 ساله خود تكميل شد ، با اين حال ساختار اوليه را در غالب نسخه هاي خود حفظ كرد . وقتي ميكروسافت تصميم گرفت كه از زبان بيسيك به عنوان زبان برنامه نويسي اصلي همراه سيستم عامل MS – DOS  استفاده كند ، زبان بيسيك را كارا كرد و توانائي هايي به آن افزود .
اين كار با ايجاد چندين گونه بيسيك با نام هايي مانند MBASIC  ( مخفف بيسيك ميكروسافت ) ، GW – BASIC  ( مخفف بيسيگ گي – ويز ) ، BASICA  ( مخفف بيسيك پيشرفته ) BASIC  Q عملي گرديد .
علاوه بر اينكه ويژوال بيسيك ، گرافيكي و استفاده از آن آسان است . به علت ماهيت مفسر و مترجم بودن آن ، يكي از مقبول ترين زبانهاي امروزه مي باشد . شما مي توانيد يك برنامه ويژوال بيسيك را به هنگام نوشتن ، با اجراي مفسر گونه برنامه تست كرده تا تمامي اشكالات آن را از بين ببريد .
هنگامي كه تمامي اشكالات را رفع و بطور كامل برنامه خود را تست كرديد مي توانيد جهت حصول يك برنامه اجرايي سريع و مطمئن ، برنامه را ترجمه كنيد تا بتوان آن را براي استفاده ديگران توزيع كرد . بدين علت كه هيچ كس به آساني نمي تواند برنامه ترجمه شده را تغيير دهد . ويژوال بيسيك مراحل مشكل ترجمه ( شامل مورد مرموزي به نام ويرايش پيوند ) را با قرار دادن مرحـله ترجمه در يك گزينه منويي  ( menu  option  ) اداره مي كند . در صورتيكه كه ساير زبانها شما را با آن مراحل روبه رو مي كنند .
هنگاميكه ميكروسافت اولين نسخه ويژوال بيسيك را عرضه كرد ، بسياري از مردم انحطاط زبان بيسيك ( و ساير نسخه هاي آن مانند BASIC Q ) را پيش بيني كردند . اين افراد منفي گرا فكر كردند هر زباني كه مبتني بر بيسيك باشد نمي تواند براي برنامه هاي جدي بكار رود ، چون آنها هرگز زبان بيسيك را جدي نگرفته بودند . به هيچ علت زبانهاي مانند C ، C + +   و پاسكال به علت تواناييهاي مترجم آنها ، و نيز به علت اينكه ساختار برنامه نويسي آنها با محيط ويندوز بيشتر هماهنگ بود ، سخت مورد توجه قرار گرفتند . ميكروسافت با ارا ئه ويژوال بيسيك مفاهيم ذيل را به جامعه برنامه نويسان آموخت :
- يك زبان مانند بيسيك هم ساده و هم قدرتمند باشد .
- يك زبان مانند بيسيك با داشتن رابط صحيح مي تواند در محيط ويندوز به خوبي كار كند .
 - ويژوال بيسيك بنا به نيازهاي برنامه نويس مي تواند هم به صورت مفسر و هم به صورت مترجم كار كند .
 - يك زبان مبتني بر بيسيك مي تواند يكي از مورد استفاده ترين زبانهاي دنيا باشد .
طبيعت بصري ويژوال بيسيك
ويژوال بيسيك بيش از يك زبان برنامه نويسي مي باشد مشخصه ويژوال بيسيك در نام آن قرار داردبصري ( visual ) . با سيستم عامل هاي ويندوز امروزه ، يك برنامه بايد بتواند با صفحه نمايش ، صفحه كليد ، ماوس و چاپگر بصورت گرافيكي ارتباط برقرار كند . زبانهاي برنامه نويسي قديمي ، مثل بيسيك ، در محيط متني خوب عمل مي كردند ولي همان زبانها ، رابط گرافيكي ( Graphic  Inter face  ) مورد نياز كامپيوترهاي امروزي را پشتياباني نمي كردند .
سهولت يادگيري و استفاده از ويژوال بيسيك ، تنها به علت ساختار زبان بيسيك نيست . بخش اعظم تهيه برنامه ، از كشاندن عناصر و قرار دادن آنها ( توسط ماوس ) بر روي صفحه ويژوال بيسيك تشكيل شده است .
شما مي توانيد به جاي نوشتن يك سري دستورات ورودي و خروجي پيچيده جهت ارتباط با كاربر ، كنترل هايي مانند كادرهاي متن ( Text  Box ) و دكمه هاي فرمان ( command  Button  ) را بر روي صفحه قرار دهيد : هنگاميكه كاربر برنامه را اجرا مي كند ويژوال بيسيك مراقب اجراي صحيح كنترل ها را به عهده مي گيرد .
ويژوال بيسيك در انواع مختلف به شرح زير ارائه شده است :
Visual  Basic  Enterprise  Edition  :
اين نسخه براي محيط هاي برنامه نويسي گروهي و كامپيوتر هاي سرويس گيرنده / سرويس دهنده ( server / client ) ، كه برنامه ها پردازش و داده ها را بين چندين كامپيوتر پخش مي كنند تهيه شده است
Visual  Basic  professional Edition :
اين نسخه براي برنامه نويسان حرفه اي تهيه شده است ، كه خواستار بيشترين بازدهي از محيط برنامه نويسي ويژوال بيسيك هستـند . اين نسخه داراي يك مجمـوعه كامـل از ابزارهـا و ايجاد كننده هاي فـوري ( wizard  ) مي باشد . اين ابزار ها به ايجاد بسته نرم افزاري و توزيع برنامه ها كمك مي كنند .
Visual  Basic Learning  Edition  :
اين نسخه شامل ملزوماتي به همراه ابزار برنامه نويسي استاندارد ، براي كساني كه مي خواهند برنامه نويسي را شروع كنند ، مي باشد .
يك نسخه مخصوص از ويژوال بيسيك در يك بسته نرم افزاري به نام v isual  studio  ارائه شده است
 visual  studio  يك محيط برنامه نويسي است كه چندين زبان ميكروسافت مانند : Visual  Basic،  Visual  C+ +    ،Visual  j + + ، Visual  foxpro  را پشتيباني مي كند . هنگاميكه شما از ويژوال بيسيك استفاده مي كنيد ، از همان محيطي استفاده مي كنيد برنامه نويسان ساير زبانهاي بصري استفاده مي كنند . بنابراين اگر شما به سمت زبان ديگري حركت كنيد نيازي به يادگيري مجموعه جديدي ا زمنوها  و كادرها مكالمه ( Dialog  Boxes  ) نخواهيد داشت .
مرحله برنامه ويژوال بيسيك :
-1  با ايجاد يك طرح كلي ، تصميم مي گيرد كه برنامه شما چه كاري مي خواهد انجام دهد .
-2 قسمت بصري برنامه خود را ايجاد مي كند ( صفحه ها و منوهايي كه كاربران با آنها كار مي كنند )
-3 كدهاي زبان برنامه نويسي ويژوال بيسيك را جهت مرتب ساختن عناصر بصري به يكديگر و خود كار كردن برنامه ، مي افزايند .
-4 برنامه را جهت پيدا و رفع كردن اشكالاتي كه يافته ايد تست مي كنيد .
-5 برنامه تست شده را ترجمه مي كنيد و برنامه ترجمه شده را بين كاربران توزيع مي نمايد .
برنامه نويسي خطي تا پيش از ويژوال بيسيك ، به چند دليل كاري خسته كننده بود . در محيط هاي متني شما مجبور بوديد تمام صفحاتي كه كاربران مي بينند ، بر روي كاغذ طراحي كنيد . سپس كاغذ ها را به كاربران مي داديد تا مطمئن شويد طراحي شما دقيقاً آن چيزي است كه آنها مي خواهند . اگر شما مي خواستيد يك برنامه براي توزيع انبوه طراحي كنيد مثلاً يك بازي و يا يك برنامه كاربردي تجاري ، بايد تمام صفحات مورد نمايش راد بر روي كاغذ پياده ، روند نماهاي ( Flowcharts ) پيچيده اي براي عملكرد هر صفحه تهيه ، فايل هايي كه براي برنامه مورد نياز بود طراحي ، و تمام جزئيات را قبل از اينكه حتي به صفحه كليد دست بزنيد ، برنامه ريزي مي كرديد . ماهيت بصري ويژوال بيسيك شما را دلگرم مي كند كه در مرحله برنامه نويسي ، خيلي زودتر با صفحه كليد كار كنيد . شما به جاي استفاده از كاغذ ، صفحات خود را با ابزار ويژوال بيسيك طراحي مي كنيد .



آشنايي با ويژوال بيسيك
ويژوال بيسيك يكي از اولين زبان هاي برنامه نويسي جهت تشكيل WYSIWYG  ( چيزي كه مي بينيد همان چيزي است كه بدست مي آوريد ) مي باشد . ويژوال بيسيك به جهت محيط تصويري آن ، يك زبان لذت بخش مي باشد . برنامه نويسي تحت ويندوز با ويژوال بيسيك اكثراً تنها به كشاندن و قرار دادن (Drag  &  Drop  ) اشياء گرافيكي ، از جعبه ابزار ( Tool box ) كه آن اشياء در آن قرار دارند به روي صفحه كاري نياز دارد . همانطور كه شما در حال اضافه كردن اشياء هستيد برنامه تحت ويندوز در پيش چشم شما ظاهر مي شود .
ويژوال بيسيك بيش از يك زبان برنامه نويسي مي باشد . اين زبان برنامه نويسي ، تمام اعمالي را كه در اجـراي برنـامـه ويـژوال بيسيك رخ مـي دهند تشـكيـل مي دهـد . با اين حال ، ايـن زبـان به رابـط كاربـر ( user   Inter  face  )  يـك تمركـز ثانويـه دارد . يـك بـرنامه تحـت وينـدوز ، درجـه اي بـالا از محـا وره ( Interaction )  با كاربر را ارائه مي كند . اين كار توسط عناصر گرافيكي كه كاربر بر روي صفحه نمـايـش مي بيند انجام مي گردد .
ميكروسافت اساس ويژوال بيسيك را بر مبناي “ زبان نويسي براي مبتديان ”  كه بيسيك نام دارد قرار داد . بيسيك بيش از 35 سال در گونه هاي مختلف موجود بوده است . طراحان اصلي زبان ، قصد ايجاد يك زبان برنامه نويسي را داشتند كه مبتديان بتوانند از آن استفاده كنند . برنامه نويسان تازه كار با بيسيك مي توانستند سريعاً ماهر شوند . زبانهاي برنامه نويسي ديگر آن روزها مانند كوبول ، فرترن و اسمبلي قبل از اينكه كسي بتواند از آنها به صورت مؤثر استفاده كند نياز به مطالعه بيشتري داشتند .
BASIC  سر نام كلمات Begginers  All – purpose   symbolic  Instruction  code  مي باشد .
بيسيك كاملاً يك زبان ” مبتني بر متن “  است بدين معني كه خروجي آن نيز “ مبتني بر متن ” مي باشد و بر خلاف برنامه هاي امروزه ، گرافيك و خروجيهاي پنجره اي “ windowed “  توليد نمي كند .
ميكروسافت ويژوال بيسيك را مستقيماً از زبان بيسيك اوليه ايجاد نكرد . اگر چه زبان بيسيك طي چندين مرحله در تاريخ 35 ساله خود تكميل شد ، با اين حال ساختار اوليه را در غالب نسخه هاي خود حفظ كرد . وقتي ميكروسافت تصميم گرفت كه از زبان بيسيك به عنوان زبان برنامه نويسي اصلي همراه سيستم عامل MS – DOS  استفاده كند ، زبان بيسيك را كارا كرد و توانائي هايي به آن افزود .
اين كار با ايجاد چندين گونه بيسيك با نام هايي مانند MBASIC  ( مخفف بيسيك ميكروسافت ) ، GW – BASIC  ( مخفف بيسيگ گي – ويز ) ، BASICA  ( مخفف بيسيك پيشرفته ) BASIC  Q عملي گرديد .
علاوه بر اينكه ويژوال بيسيك ، گرافيكي و استفاده از آن آسان است . به علت ماهيت مفسر و مترجم بودن آن ، يكي از مقبول ترين زبانهاي امروزه مي باشد . شما مي توانيد يك برنامه ويژوال بيسيك را به هنگام نوشتن ، با اجراي مفسر گونه برنامه تست كرده تا تمامي اشكالات آن را از بين ببريد .
هنگامي كه تمامي اشكالات را رفع و بطور كامل برنامه خود را تست كرديد مي توانيد جهت حصول يك برنامه اجرايي سريع و مطمئن ، برنامه را ترجمه كنيد تا بتوان آن را براي استفاده ديگران توزيع كرد . بدين علت كه هيچ كس به آساني نمي تواند برنامه ترجمه شده را تغيير دهد . ويژوال بيسيك مراحل مشكل ترجمه ( شامل مورد مرموزي به نام ويرايش پيوند ) را با قرار دادن مرحـله ترجمه در يك گزينه منويي  ( menu  option  ) اداره مي كند . در صورتيكه كه ساير زبانها شما را با آن مراحل روبه رو مي كنند .
هنگاميكه ميكروسافت اولين نسخه ويژوال بيسيك را عرضه كرد ، بسياري از مردم انحطاط زبان بيسيك ( و ساير نسخه هاي آن مانند BASIC Q ) را پيش بيني كردند . اين افراد منفي گرا فكر كردند هر زباني كه مبتني بر بيسيك باشد نمي تواند براي برنامه هاي جدي بكار رود ، چون آنها هرگز زبان بيسيك را جدي نگرفته بودند . به هيچ علت زبانهاي مانند C ، C + +   و پاسكال به علت تواناييهاي مترجم آنها ، و نيز به علت اينكه ساختار برنامه نويسي آنها با محيط ويندوز بيشتر هماهنگ بود ، سخت مورد توجه قرار گرفتند . ميكروسافت با ارا ئه ويژوال بيسيك مفاهيم ذيل را به جامعه برنامه نويسان آموخت :
- يك زبان مانند بيسيك هم ساده و هم قدرتمند باشد .
- يك زبان مانند بيسيك با داشتن رابط صحيح مي تواند در محيط ويندوز به خوبي كار كند .
 - ويژوال بيسيك بنا به نيازهاي برنامه نويس مي تواند هم به صورت مفسر و هم به صورت مترجم كار كند .
 - يك زبان مبتني بر بيسيك مي تواند يكي از مورد استفاده ترين زبانهاي دنيا باشد .
طبيعت بصري ويژوال بيسيك
ويژوال بيسيك بيش از يك زبان برنامه نويسي مي باشد مشخصه ويژوال بيسيك در نام آن قرار داردبصري ( visual ) . با سيستم عامل هاي ويندوز امروزه ، يك برنامه بايد بتواند با صفحه نمايش ، صفحه كليد ، ماوس و چاپگر بصورت گرافيكي ارتباط برقرار كند . زبانهاي برنامه نويسي قديمي ، مثل بيسيك ، در محيط متني خوب عمل مي كردند ولي همان زبانها ، رابط گرافيكي ( Graphic  Inter face  ) مورد نياز كامپيوترهاي امروزي را پشتياباني نمي كردند .
سهولت يادگيري و استفاده از ويژوال بيسيك ، تنها به علت ساختار زبان بيسيك نيست . بخش اعظم تهيه برنامه ، از كشاندن عناصر و قرار دادن آنها ( توسط ماوس ) بر روي صفحه ويژوال بيسيك تشكيل شده است .
شما مي توانيد به جاي نوشتن يك سري دستورات ورودي و خروجي پيچيده جهت ارتباط با كاربر ، كنترل هايي مانند كادرهاي متن ( Text  Box ) و دكمه هاي فرمان ( command  Button  ) را بر روي صفحه قرار دهيد : هنگاميكه كاربر برنامه را اجرا مي كند ويژوال بيسيك مراقب اجراي صحيح كنترل ها را به عهده مي گيرد .
ويژوال بيسيك در انواع مختلف به شرح زير ارائه شده است :
Visual  Basic  Enterprise  Edition  :
اين نسخه براي محيط هاي برنامه نويسي گروهي و كامپيوتر هاي سرويس گيرنده / سرويس دهنده ( server / client ) ، كه برنامه ها پردازش و داده ها را بين چندين كامپيوتر پخش مي كنند تهيه شده است
Visual  Basic  professional Edition :
اين نسخه براي برنامه نويسان حرفه اي تهيه شده است ، كه خواستار بيشترين بازدهي از محيط برنامه نويسي ويژوال بيسيك هستـند . اين نسخه داراي يك مجمـوعه كامـل از ابزارهـا و ايجاد كننده هاي فـوري ( wizard  ) مي باشد . اين ابزار ها به ايجاد بسته نرم افزاري و توزيع برنامه ها كمك مي كنند .
Visual  Basic Learning  Edition  :
اين نسخه شامل ملزوماتي به همراه ابزار برنامه نويسي استاندارد ، براي كساني كه مي خواهند برنامه نويسي را شروع كنند ، مي باشد .
يك نسخه مخصوص از ويژوال بيسيك در يك بسته نرم افزاري به نام v isual  studio  ارائه شده است
 visual  studio  يك محيط برنامه نويسي است كه چندين زبان ميكروسافت مانند : Visual  Basic،  Visual  C+ +    ،Visual  j + + ، Visual  foxpro  را پشتيباني مي كند . هنگاميكه شما از ويژوال بيسيك استفاده مي كنيد ، از همان محيطي استفاده مي كنيد برنامه نويسان ساير زبانهاي بصري استفاده مي كنند . بنابراين اگر شما به سمت زبان ديگري حركت كنيد نيازي به يادگيري مجموعه جديدي ا زمنوها  و كادرها مكالمه ( Dialog  Boxes  ) نخواهيد داشت .
مرحله برنامه ويژوال بيسيك :
-1  با ايجاد يك طرح كلي ، تصميم مي گيرد كه برنامه شما چه كاري مي خواهد انجام دهد .
-2 قسمت بصري برنامه خود را ايجاد مي كند ( صفحه ها و منوهايي كه كاربران با آنها كار مي كنند )
-3 كدهاي زبان برنامه نويسي ويژوال بيسيك را جهت مرتب ساختن عناصر بصري به يكديگر و خود كار كردن برنامه ، مي افزايند .
-4 برنامه را جهت پيدا و رفع كردن اشكالاتي كه يافته ايد تست مي كنيد .
-5 برنامه تست شده را ترجمه مي كنيد و برنامه ترجمه شده را بين كاربران توزيع مي نمايد .
برنامه نويسي خطي تا پيش از ويژوال بيسيك ، به چند دليل كاري خسته كننده بود . در محيط هاي متني شما مجبور بوديد تمام صفحاتي كه كاربران مي بينند ، بر روي كاغذ طراحي كنيد . سپس كاغذ ها را به كاربران مي داديد تا مطمئن شويد طراحي شما دقيقاً آن چيزي است كه آنها مي خواهند . اگر شما مي خواستيد يك برنامه براي توزيع انبوه طراحي كنيد مثلاً يك بازي و يا يك برنامه كاربردي تجاري ، بايد تمام صفحات مورد نمايش راد بر روي كاغذ پياده ، روند نماهاي ( Flowcharts ) پيچيده اي براي عملكرد هر صفحه تهيه ، فايل هايي كه براي برنامه مورد نياز بود طراحي ، و تمام جزئيات را قبل از اينكه حتي به صفحه كليد دست بزنيد ، برنامه ريزي مي كرديد . ماهيت بصري ويژوال بيسيك شما را دلگرم مي كند كه در مرحله برنامه نويسي ، خيلي زودتر با صفحه كليد كار كنيد . شما به جاي استفاده از كاغذ ، صفحات خود را با ابزار ويژوال بيسيك طراحي مي كنيد .

گزارش گيري از پايگاه داده در ويژوال بيسيک
» همانطور که شما عزيزان مي دانيد گزارشگيري مي تواند يکي از ويژگيهايي باشد که يک برنامه پايگاه داده را کاملتر و قابل استفاده تر مي کند و کاربران به استفاده از اين نوع برنامه ها رغبت بيشتري دارند . يعني به طور کلي امکان گزارشگيري در يک برنامه از مهمترين ويژگيهاي آن است . از گزارشگيري بيشتر در چاپ استفاده مي شود و کاربر مي تواند قبل از چاپ اطلاعاتي را مشاهده و ارزيابي کند . در اين درس من روش ساخت گزارش معمولي با استفاده از امکانات آماده خود ويژوال بيسيک را توضيح خواهم داد ، ولي اکتيوايکس هاي پيشرفته تري مانند کريستال ريپورت ( Crystal Report ) که توانايي ساخت گزارشهاي جالبتر و بهتري را دارند نيز وجود دارند که خود شما بايد پيگير آنها باشيد .
» قبل از شروع ساخت گزارش شما بايد چند نکته در اين مورد ياد بگيريد . در ايجاد يک گزارش معمولي ويژوال بيسيک از از رابط OLE DB براي برقراري ارتباط با پايگاه داده مورد نظر استفاده مي کند . براي شروع شما VB خود را باز کرده و يک پروژه استاندارد ايجاد کنيد . سپس براي ايجاد رابط از منوي Project گزينه Add Data Environment را انتخاب کنيد . با زدن اين گزينه فرمي به صورت زير ايجاد مي شود :
 
» همانطور که در تصوير مي بينيد اين فرم از يک ليست درختي تشکيل شده که سر شاخه آن همان نام رابط است . شاخه Connections ليست ارتباطها با پايگاه داده ها را مشخص مي کند . مثال Connection1 با يک پايگاه داده مرتبط است و حال اين که Connection بعدي که ايجاد ميکنيد مي تواند با يک پايگاه داده ديگر ارتباط برقرار کند . شاخه Commands هم جدول يا جدول هاي انتخابي از هر پايگاه داده را مشخص ميکند که بيشترين کاربرد را دارد . حال به توضيح هر يک از اين دو شاخه مي پردازيم :
شاخه Connections : همانطور که گفته شد اين ابزار يا شي ء پايگاه داده اي را که قرار است از آن گزارش تهيه شود مشخص مي کند . براي مثال ما مراحل انتخاب يک پايگاه داده مراحل زير را دنبال مي کنيم :
1 ) روي Connection1 راست کليک کنيد تا منويي باز شود . از اين منو گزينه Properties را انتخاب کنيد تا ديالوگ Data Link Properties نمايش داده شود . برگه اول اين ديالوگ داراي يک ليست است.
2 ) شما از اين ليست گزينه Microsoft Jet 4.0 OLE DB Provider را انتخاب کرده و گزينه Next را بزنيد تا برگه دوم اين ديالوگ نمايش داده شود .
3 ) در اين مرحله پايگاه داده مورد نظر خود را انتخاب کنيد . براي آگاهي از اين که آيا اتصال به درستي انجام گرفته مي توانيد از دکمه Test Connection استفاده کنيد . سپس دکمه OK را براي پايان اين مرحله انجام دهيد .
با انجام اين مراحل ما توسط Connection1 به پايگاه داده مورد نظر خود متصل شديم . حال زمان استفاده از شي ء Command است . براي ايجاد يک Command براي Connection1 روي Connection1 کليک راست کرده و گزينه Add Command را بزنيد . با اين کار Command1 به ليست Command ها اضافه خواهد شد .
شاخه Commands : همانطور که گفته شد شي Command براي مديريت جدول يا فيلد ها استفاده مي شود . براي تنظيم اين شي ء مراحل زير را دنبال مي کنيم :
1 ) روي Command1 کليک راست کرده و گزينه Properties را انتخاب کنيد تا ديالوگ زير نمايش داده شود :
در اين ديالوگ اصلي ترين قسمت برگه General است که ما بايد آن را تکميل کنيم.
2 ) در برگه General از کشوي DataBase Objects گزينه Table را انتخاب کنيد تا در کشوي Object Name نام جدول هاي موجود در پايگاه داده قرار گيرد و شما جدول مورد نظر خود را انتخاب کنيد . حتي شما مي توانيد با استفاده از دستورات SQL که در قسمت SQL Statement مي نويسيد جدول مورد نظر خود را انتخاب نماييد .
3 ) سپس دکمه Apply و دکمه Ok را براي تکميل اين قسمت فشار دهيد . برگه هاي ديگر اين ديالوگ براي ساخت گزارشهاي پيشرفته تر کاربرد دارند که ما از تکميل اين قسمت ها را به خود شما عزيزان واگزار مي کنم .
» در اين قسمت تنظيمات مربوط به رابط پايگاه داده به پايان رسيد . حال براي ايجاد صفحه طراحي گزارش از منوي Project گزينه Add Data Report را انتخاب کنيد . يک صفحه طراحي گزارش با جعبه ابزار مخصوص با نام Data Reprot1 در اختيار شما قرار داده مي شود . در اين قسمت دو روش براي طراحي گزارش وجود دارد:
روش اول اين است که خود شما براي هر کدام از فيلدهايي که مي خواهيد در گزارش قيد شوند يک Rpt Text Box و Rpt Lable قرار دهيد و خواص هر کدام از آنها را به طور جداگانه تنظيم کنيد .
روش دوم اين است که فرم رابط يا Data Environment و DataReport1 را به صورت زير قرار داده و با کشيدن و انداخت هر کدام از فيلد ها و يا کل جدول از فرم رابط بر روي فرم گزارش ، گزارش خود را تنظيم کنيد.
مهم ترين قسمت : مهمترين قسمت اين بخش مرتبط کردن فرم گزارش با فرم رابط است . براي اين کار شما بايد خواص DataReport1 يا همان فرم گزارش خود را به صورت زير تنظيم کنيد :
1 ) خاصيت DataSource را برابر با DataEnvironment1 قرار دهيد .
2 ) خاصيت DataMember را برابر با Command1 قرار دهيد .
حال گزارش شما براي نمايش آماده است . براي اين کار شما بايد در Form1 خود يک CommandButton قرار داده و کد زير را در آن بنويسيد :
()Private Sub Command1_Click
DataReport1.Show
End Sub
همچنين شما مي توانيد براي فرم گزارش خود سر برگ يا شماره صفحه و چيز هاي ديگر قرار دهيد . همچنين مي توانيد براي آن منو طراحي کنيد .
رويدادها در ويژوال بيسيک
براي هر عملي که ميخواهيم کاربر در برنامه ما انجام دهد مي بايست در هر رويداد کد خاصي را بنويسيم تا نسبت به رفتار خاصي پاسخگو باشيم اين رويدادها تعيين ميکنند که برنامه ما نسبت به چه اعمالي حساس باشد کليک کردن يا فشردن دکمه اي خاص.
عمل کليک : تو مثالهاي قبلي وقتي رو Command1 کليک ميکرديم يه عملي انجام ميشد چون ما تو رويداد کليک Command1 اون کدمون رو نوشتيم  حالا اگه بخواهيم رويدادهاي ديگه اي هم هستن مثلا KeyDown ويا MouseMove و ... همه اينها بسته به نوعشون در مقابل رفتار کاربر عمل بخصوصي رو انجام ميدن حالا چند تا کد مينويسيم که با رويدادهاي مختلف آشنا بشيم :
MouseMove:زماني که ماوس رو باتن حرکت کنه Caption باتن عوض ميشه.
 
MouseDown: اگر دکمه فشار داده شود (هنوز دستمان روي دکمه ماوس است دکمه بالا نيامده)
 
MouseUp : دکمه ماوس  فشار داده شده و به سمت بالا رها مي شود بعد از عمل MouseDown
 
رويدادهاي KeyDown وKeyPress وKeyUp هم مثل همين ها هستند تنها تفاوت چون نياز به يک دستور شرطي دارند(با يک دستور شرطي مشخص ميکنيم اگر کليد فشرده شده مثلا Ctrl بود چه عملي انجام شود) بعدا که دستورات شرطي رسيديم ميگم .DragDrop و DragOver هم همچنين.+
ولي حالا ميخواهيم يه برنامه ساده بنويسيم که از کنترل Label استفاده مي شه . يه کنترل ليبل از سمت چپ انتخاب کنين و بندازين تو صفحه فرمتون ! برنامه ما اين کار رو ميکنه -[وقتي ماوس رو ليیل ميره رنگ اون عوض ميشه و Bold هم ميشه مثل همين لينک ها و وقتي هم ماوس رو از روش برمي داريم به حالت اول بر ميگرده ]- خب اول براي رويداد MouseMove اينها رو مينويسيم:
 
و در رويداد Form_MouseMove هم اينها رو مينويسيم(همين ها رو کپي و پيست کنين)
 
حالا برنامه رو اجرا کنين ماوس رو روي ليبل بذارين و از روش بردارين


تعريف كلي از اكسسAccess
اكسس ابزاري براي توليد بانكهاي اطلاعاتي رابطه اي است. بانكهاي اطلاعاتي امكان گردآوري انواع اطلاعات را براي ذخيره ‌سازي ،جستجو و بازيابي فراهم مي‌كند.
اجزا بانك اطلاعاتي اكسس عبارتند از:
DataBase:
1. Table
2. Query
3. Form
4. Report
5. Macros
6. Modules
• ‏‏Table :(جدول ) هر جدول براي نگهداري داده‌هاي خام بانك اطلاعاتي است.داده‌ها را شما در جدول وارد مي‌كنيد.جداول سپس اين داده‌ها را به شكل سطرها و ستونهايي سازماندهي ميكند.
• Query :هر پرس و جو براي استخراج اطلاعات مورد نظر از يك بانك اطلاعاتي مورد استفاده قرار مي‌گيردهر پرس و جو مي‌تواند گروهي از ركوردها را كه شرايط خاص دارا هستند انتخاب كند.پرس و جوها را مي‌توان بر اساس جداول يا پرس و جوهاي ديگر اماده نمود. با استفاده از پزس‌وجوها مي‌توان ركوردهاي بانك اطلاعاتي را انتخاب كرد، تغيير داد و يا حذف نمود.
• Form :متداولترين روش استفاده از فرمها،براي ورود و نمايش داده‌ها است.
• Report :گزارش ها مي‌توانند بر اساس جدول ،پرس‌وجوها باشند ،قابليت گزارش چاپ داده‌ها مي‌باشدگزارشها را مي‌توان بر اساس چند جدول و پرس‌وجو تهيه نمود تا رابطه بين داده‌ها را نشان داد.
• Macro :ماكروها به خودكار كردن كارهاي تكراري ،بدون نوشتن برنامه‌هاي پيچيده يا فراگيري يك زبان برنامه نويسي ، ياري مي‌كند، در واقع ماكروها يكسري قابليت‌هايي هستند كه امكان سريع سازي را فراهم مي‌سازند.
• Modules : محيط بسيار قوي و با كيفيت براي برنامه‌نويسي محاسبات و عمليات پيچيده روي سيستم بانك اطلاعاتي.
الف ‌- تعريف دادهData :
هرگونه اطلاعات لازم و كاربردي درباره يك موجوديت را يك داده مي‌گويند.
ب‌- تعريف Fild :
به هر ستون يك جدول كه در بر گيرنده كليه اطلاعات مربوط به آن ستون مي‌باشد و بخشي از يك موجوديت را تشگيل ميدهد فيلد گفته مي‌شود.
ت‌- تعريف Record :
به هر سطر يك جدول كه اطلاعات مربوط به يك موجوديت را نشان مي‌دهد ، ركورد گويند.
ث‌- تعريف پايگاه داده‌اي ارتباطي:
پايگاه داده‌هاي ارتباطي، مجموعه‌اي از جدول‌هاي داده است كه يك فيلد مشترك در هر يك از جدولهاي موجود دارد و از طريق آن مي‌توان داده‌ها را بهم ربط داد.به اين مدل از پايگاه داده‌ها ، پايگاه داده‌هاي ارتباطي RelationShip مي‌گويند.
صدور پيغامهاي فارسي بجاي پيغامهاي Error اكسس
يكي از دوستان وبلاگي من پرسيده بود چطوري پيغام Error مربوط به ورود ركورد تكراري را در اكسس فارسي كنيم . ترجيح دادم جواب كاملي براي سئوال ايشون بدم تا همه استفاده كنن. بنابراين ابتدا جواب ايشون رو ميدم و بعد از اون بطور كاملتر براي همه وبلاگي هاي عزيز روش كنترل خطا را تشريح مي كنم .
(توجه داشته باشيد كه در زير كدهاي نوشته شده از راست به چپ نمايش داده مي شوند)
جواب دوست ما:
در رويداد OnError مربوط به فرم ورود اطلاعات اين كد را مي نويسيم:
If DataErr = 3022 Then
MsgBox "اطلاعات وارده تكراري است"
Response = acDataErrContinue
End If
جواب كلي :
اساسا ، هر خطا در اكسس يا VB يك كد توليد مي كند . برنامه نويسان بايد يك بانك اطلاعات از كد خطاهايي كه رخ مي دهد داشته باشند تا بتوانند با چك كردن شماره خطا پيغام فارسي مناسب آن خطا را صادر كنند .
بطور كلي دو روش كنترل خطا از اين قرارند:
1- اگر خطا مربوط به كل فرم باشد بايد از طريق رويداد OnError فرم كنترل شود .
معمولا خطاهايي كه مربوط به كدنويسي ما نبوده و صرفا توسط اكسس و در واكنش به اشتباهات كاربر صادر مي شود در اين رويداد كنترل مي شود . در اين رويداد ، پارامتر DataErr حاوي كد خطاست. (بعبارت واضح تر اگر مي خواهيد كد مربوط به هر Error را شناسايي كنيد مي توانيد اين دستور در رويداد OnError فرم بنويسيد:
MsgBox DataErr )
بطور كلي بعد از اينكه كد خطاها را شناسايي كرديد با نوشتن قالب برنامه زير در رويداد OnError فرم مي توانيد خطاها را كنترل كنيد :
Dim Str as String
Select Case DataErr
Case 3022
Str="اطلاعات وارده تكراري است"
Case 2237
Str = "اطلاعات وارده در ليست وجود ندارد"
'خط فوق براي مواردي است كه يك مقداري كه در كمبو باكس وجود ندارد ، تايپ شده باشد
Case ...
Str=...
....
End Select
Msgbox Str
Response = acDataErrContinue
2- اگر خطا مربوط به كدهايي باشد كه خودمان در يك Sub نوشته ايم :
در اين روش بايد در ابتداي Sub با دستور : <اسم زير روال كنترل خطا> On Error Goto ، كنترل خطا را به يك روال كنترل خطا ارجاع دهيم.
( تمام كدهايي كه ويزارد Command Button بطور خودكار در رويداد OnClick دكمه ها ايجاد مي كند نمونه خوبي براي اين روش هستند. ضمنا در اين روش بكمك Err.Number كد خطا شناسايي مي شود )

 


توضيح پروژه
فرم ورود
اين فرم شامل دو text است كه يكي هت دريافت vsername و ديگري براي Pasword مي‌باشد
در اين فرم كه بوسيله يك شي ADODC1 به بانك اطلاعاتي ما متصل مي باشد.
جدول كاربر از باك فراخواني مي گردد.
با كليك بر روي دكمه OK مقادير username و assword با فيلدهاي مربوطه در بانك چك مي گردد و در صورت تائيد اجازه ورود به كاربر داده مي شود.
در صورت اشتباه بودن در يك از دو گزينه پيام خطايي با اين مضمون ظاهر ميگردد : كليد كاربري يا رمز عبور اشتباه مي باشد.
 




Option Explicit

Public LoginSucceeded As Boolean

Private Sub cmdCancel_Click()
    'set the global var to false
    'to denote a failed login
    LoginSucceeded = False
    Unload Me
End Sub

Private Sub cmdOK_Click()
Adodc1.Recordset.MoveFirst
While Adodc1.Recordset.EOF <> True
If txtUserName.Text = Adodc1.Recordset.Fields(3).Value And txtPassword.Text = Adodc1.Recordset.Fields(4).Value Then
MDIForm1.Show
Me.Hide
Label1.Visible = False
Else
Label1.Visible = True
End If
Adodc1.Recordset.MoveNext
Wend

End Sub

Private Sub Text3_Change()

End Sub
 
فرم اصلی
اين فرم مادر در حقيقت فرم اصلي برنامه مي باشد كه در آن استفاده از MeauTool منويي ايجاد گرديده كه اين منو ها خو شامل زير منوهايي مي باشند.
اجناس : ورود و يرايش حذف
مشتري: ورود ويرايش حذف جستجو
كارمندان : كارمندان
كاربران : ورود ويرايش حذف
فروش كالا: ...................
جستجو : جستجو كالا
گزارش : گزارش گيري


 










Private Sub a1_Click()
Me.Hide
fa1.Show
End Sub

Private Sub a2_Click()
Me.Hide
fa2.Show
End Sub

Private Sub a3_Click()
Me.Hide
fa3.Show
End Sub

Private Sub b1_Click()
Me.Hide
fb1.Show
End Sub

Private Sub b2_Click()
Me.Hide
fb2.Show
End Sub

Private Sub b3_Click()
Me.Hide
fb3.Show
End Sub

Private Sub b4_Click()
Me.Hide
fb4.Show
End Sub

Private Sub c1_Click()
Me.Hide
fc1.Show
End Sub

Private Sub c2_Click()
Me.Hide
fc2.Show
End Sub

Private Sub c3_Click()
Me.Hide
fc3.Show
End Sub

Private Sub d1_Click()
Me.Hide
fd1.Show
End Sub

Private Sub d2_Click()
Me.Hide
fd2.Show
End Sub

Private Sub d3_Click()
Me.Hide
fd3.Show
End Sub

Private Sub e1_Click()
Me.Hide
fe1.Show
End Sub

Private Sub e2_Click()
Me.Hide
fe2.Show
End Sub

Private Sub f1_Click()
Me.Hide
fF1.Show
End Sub

Private Sub k1_Click()
Me.Hide
fk1.Show
End Sub

فرم ثبت اجناس
دراين صفحه با استفاده از شي ADCDC1 ارتباطي بين بانك و برنامه بر قرار گرديده اطلاعات اين صفحه مستقيماٌ در جدول اجناس مثبت مي گردد. اين صفحه شامل 5 text به نمهاي
نام كالا     شرح كالا    شماره سريال     تعداد     قيمت واحد
وجود دارد همچنين دو دكمه جديد جهت ايجاد فيلد جديد و ذخيره جهت ذخيره اطلاعات وجود دارد
دراين صفحه دو Label جهت نشان دادن خطا وجود دارد كار اين دو label جلوگيري از وارد شدن ركورد خالي در بانك اطلاعاتي مي باشد
 


Private Sub Command1_Click()
If Text1.Text <> "" Then
Adodc1.Recordset.AddNew
   Else
Label7.Caption = "æÑæÏ äÇã ˜ÇáÇ ÖÑæÑí ÇÓÊ"
   End If
End Sub

Private Sub Command2_Click()

End Sub

Private Sub Command3_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" Then
Adodc1.Recordset.AddNew
Else
Label8.Caption = "јæÑÏ ÎÇáí ãæÌæÏ ÇÓÊ"
End If
End Sub

Private Sub Form_Load()

Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub

فرم ويرايش اجناس
دراين صفحه با استفاده از شي ADCDC1 ارتباطي بين بانك و برنامه بر قرار گرديده.
دراين صفحه دو دكمه يكي جستجو ديگري ذخيره مي‌باشد كه با فشردن دكمه جستجو صفحه‌اي با اين مضمون باز مي گردد كه لطفاٌ كالا مورد نظر را جهت جستجو وارد نماييد
پس از وارد كردن نام اطلاعات مربوط به آن كالا نمايان مي گردد.
پس از اعمال تغييرات دكمه ذخيره را فشار مي دهيم و تغييرات اعمال مي گردد.
   
 




Public Sub ali()
End Sub

Private Sub Command1_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" Then
Text6 = Text1
Text7 = Text2
Text8 = Text3
Text9 = Text4
Text10 = Text5
Adodc1.Recordset.Update
MsgBox ("ÇØáÇÚÇÊ æÇÑÏ ÑÏíÏ")
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text5 = ""
Else
MsgBox ("ÇØáÇÚÇÊ ÑÇ ÈØæÑ ßÇãá æÇÑÏ ßäíÏ")
End If
End Sub

Private Sub Command3_Click()
f = InputBox("áØÝÇ äÇã ˜ÇáÇ ãæÑÏ äÙÑ ÑÇ ÌåÊ ÌÓÊÌæ æÇÑÏ äãÇÆíÏ", "ÌÔÊÌæ ÌåÊ æíÑÇíÔ")
Adodc1.Recordset.MoveFirst
r = 1
While Adodc1.Recordset.EOF <> True And r <> 0
If Adodc1.Recordset.Fields.Item(1) = f Then
w = Adodc1.Recordset.AbsolutePosition
r = 0
Else
Adodc1.Recordset.MoveNext
End If
Wend
If r = 0 Then
Text1 = Text6
Text4 = Text7
Text3 = Text8
Text2 = Text9
Text5 = Text10
Else
MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
End If
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub



فرم حذف اجناس
دراين صفحه با استفاده از شي ADCDC1 ارتباطي بين بانك و برنامه بر قرار گرديده.
دراين صفحه دو دكمه يكي جستجو ديگري حذف مي‌باشد كه با فشردن دكمه جستجو صفحه‌اي با اين مضمون باز مي گردد كه لطفاٌ كالا مورد نظر را جهت جستجو وارد نماييد
پس از وارد كردن نام اطلاعات مربوط به آن كالا نمايان مي گردد.
پس از فشردن دكمه حذف ركورد مرود نظر حذف مي گردد.
 
Private Sub Command1_Click()
If Text1.Text <> "" Or Text2.Text <> "" Or Text3.Text <> "" Or Text4.Text <> "" Or Text5.Text <> "" Then
Adodc1.Recordset.Delete
Adodc1.Refresh
MsgBox ("ÚãáíÇÊ ÈÇ ãæÝÞíÊ ÇäÌÇã ÔÏ")
Else
MsgBox ("јæÑÏí ÌåÊ ÍÐÝ ãæÌæÏ äíÓÊ")
End If
End Sub

Private Sub Command3_Click()
f = InputBox("äÇã ˜ÇáÇ ãæÑÏ äÙÑ ÑÇ ÌåÊ ÍÐÝ ˜ÑÏä æÇÑÏ ˜äíÏ", "ÍÐÝ ˜ÇáÇ")
r = 1
Adodc1.Recordset.MoveFirst
While Adodc1.Recordset.EOF <> True And r <> 0
If Adodc1.Recordset.Fields.Item(1) = f Then
    w = Adodc1.Recordset.AbsolutePosition
    r = 0
Else
Adodc1.Recordset.MoveNext
End If
Wend
If r = 0 Then
Text1 = Text6
Text4 = Text7
Text3 = Text8
Text2 = Text9
Text5 = Text10
Else
MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
End If
End Sub

فرم ثبت مشتری
دراين صفحه با استفاده از شي ADCDC1 ارتباطي بين بانك و برنامه بر قرار گرديده اطلاعات اين صفحه مستقيماٌ در جدول اجناس مثبت مي گردد. اين صفحه شامل 6 text به نام های
نام مشتری     نام خانوادگی  آدرس     کدپستی شماره تلفن
شماره همراه
وجود دارد همچنين دو دكمه جديد جهت ايجاد فيلد جديد و ذخيره جهت ذخيره اطلاعات وجود دارد
 

Private Sub Command1_Click()
If Text1.Text <> "" Then
Adodc1.Recordset.AddNew
   Else
MsgBox ("æÑæÏ äÇã ˜ÇáÇ ÖÑæÑí ÇÓÊ")
   End If
End Sub

Private Sub Command2_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" And Text6.Text <> "" Then
Adodc1.Recordset.AddNew
Else
MsgBox ("јæÑÏ ÎÇáí ãæÌæÏ ÇÓÊ")
End If
End Sub

Private Sub Command3_Click()

End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
End Sub

فرم ويرايش مشتری
دراين صفحه با استفاده از شي ADCDC1 ارتباطي بين بانك و برنامه بر قرار گرديده.
دراين صفحه دو دكمه يكي جستجو ديگري ذخيره مي‌باشد كه با فشردن دكمه جستجو صفحه‌اي با اين مضمون باز مي گردد كه لطفاٌ مشتری مورد نظر را جهت جستجو وارد نماييد
پس از وارد كردن نام اطلاعات مربوط به آن مشتری نمايان مي گردد.
پس از اعمال تغييرات دكمه ذخيره را فشار مي دهيم و تغييرات اعمال مي گردد.



 

Private Sub Command1_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" And Text6.Text <> "" Then
Text7 = Text1
Text8 = Text2
Text9 = Text3
Text10 = Text4
Text11 = Text5
Text12 = Text6
Adodc1.Recordset.Update
MsgBox ("ÇØáÇÚÇÊ æÇÑÏ ÑÏíÏ")
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text5 = ""
Text6 = ""
Else
MsgBox ("ÇØáÇÚÇÊ ÑÇ ÈØæÑ ßÇãá æÇÑÏ ßäíÏ")
End If
End Sub

Private Sub Command3_Click()
f = InputBox("áØÝÇ äÇã ãÔÊÑí ãæÑÏ äÙÑ ÑÇ ÌåÊ ÌÓÊÌæ æÇÑÏ äãÇÆíÏ", "ÌÔÊÌæ ÌåÊ æíÑÇíÔ")
Adodc1.Recordset.MoveFirst
r = 1
While Adodc1.Recordset.EOF <> True And r <> 0
If Adodc1.Recordset.Fields.Item(1) = f Then
w = Adodc1.Recordset.AbsolutePosition
r = 0
Else
Adodc1.Recordset.MoveNext
End If
Wend
If r = 0 Then
Text1 = Text7
Text2 = Text8
Text3 = Text9
Text4 = Text10
Text5 = Text11
Text6 = Text12
Else
MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
End If
End Sub
فرم حذف مشتری
دراين صفحه با استفاده از شي ADCDC1 ارتباطي بين بانك و برنامه بر قرار گرديده.
دراين صفحه دو دكمه يكي جستجو ديگري حذف مي‌باشد كه با فشردن دكمه جستجو صفحه‌اي با اين مضمون باز مي گردد كه لطفاٌ مشتری مورد نظر را جهت جستجو وارد نماييد
پس از وارد كردن نام اطلاعات مربوط به آن مشتری نمايان مي گردد.
پس از فشردن دكمه حذف ركورد مرود نظر حذف مي گردد.

 




Private Sub Command1_Click()
If Text1.Text <> "" Or Text2.Text <> "" Or Text3.Text <> "" Or Text4.Text <> "" Or Text5.Text <> "" Or Text6.Text <> "" Then
Adodc1.Recordset.Delete
Adodc1.Refresh
MsgBox ("ÚãáíÇÊ ÈÇ ãæÝÞíÊ ÇäÌÇã ÔÏ")
Else
MsgBox ("јæÑÏí ÌåÊ ÍÐÝ ãæÌæÏ äíÓÊ")
End If
End Sub

Private Sub Command3_Click()
f = InputBox("áØÝÇ äÇã ãÔÊÑí ãæÑÏ äÙÑ ÑÇ ÌåÊ ÌÓÊÌæ æÇÑÏ äãÇÆíÏ", "ÌÔÊÌæ ÌåÊ æíÑÇíÔ")
Adodc1.Recordset.MoveFirst
r = 1
While Adodc1.Recordset.EOF <> True And r <> 0
If Adodc1.Recordset.Fields.Item(1) = f Then
w = Adodc1.Recordset.AbsolutePosition
r = 0
Else
Adodc1.Recordset.MoveNext
End If
Wend
If r = 0 Then
Text1 = Text7
Text2 = Text8
Text3 = Text9
Text4 = Text10
Text5 = Text11
Text6 = Text12
Else
MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
End If

End Sub






فرم جستجوي مشتري
اين فرم جهت بدست آوردن اطلاعات يكي مشتريان مي باشد.
در اين فرم از شي combe جهت انتخاب يكي از گزينه هاي نام / شماره استفاده گرديد كه كاربر با انتخاب يكي از آنها نوع جستجوي خود را انتخاب مي‌كند كه براساس نام مشتري يا شماره مشتري
پس از انتخاب يكي از موارد فوق كاربر مقدار مورد جستجو را درون جاي خالي (text) نوشته و كليد جستجو را مي فشارد پس ازفشردن اين دكمه اطلاعات فرم مورد نظر ظاهر مي گردد.
دراين فرم از شي Datagrid نيز جهت نمايش كليه افراد موجود در بانك استفاده گرديده است.
 



Private Sub Command1_Click()
'********************************************'
If Text1.Text <> "" Then
    If Combo1.Text = "äÇã" Then
    Adodc1.Recordset.MoveFirst
    r = 1
    While Adodc1.Recordset.EOF <> True And r <> 0
    If Adodc1.Recordset.Fields(1).Value = Text1.Text Then
    w = Adodc1.Recordset.AbsolutePosition
    r = 0
    Else
    Adodc1.Recordset.MoveNext
    End If
    Wend
    If r = 0 Then
    Text7 = Adodc1.Recordset.Fields(0).Value
    Text8 = Adodc1.Recordset.Fields(1).Value
    Text9 = Adodc1.Recordset.Fields(2).Value
    Text10 = Adodc1.Recordset.Fields(3).Value
    Text11 = Adodc1.Recordset.Fields(4).Value
    Text12 = Adodc1.Recordset.Fields(5).Value
    Else
    MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
    End If
End If
'********************************************'
    If Combo1.Text = "ÔãÇÑå" Then
    Adodc1.Recordset.MoveFirst
    r = 1
    While Adodc1.Recordset.EOF <> True And r <> 0
    If Adodc1.Recordset.Fields(0).Value = Text1.Text Then
    w = Adodc1.Recordset.AbsolutePosition
    r = 0
    Else
    Adodc1.Recordset.MoveNext
    End If
    Wend
    If r = 0 Then
    Text7 = Adodc1.Recordset.Fields(0).Value
    Text8 = Adodc1.Recordset.Fields(1).Value
    Text9 = Adodc1.Recordset.Fields(2).Value
    Text10 = Adodc1.Recordset.Fields(3).Value
    Text11 = Adodc1.Recordset.Fields(4).Value
    Text12 = Adodc1.Recordset.Fields(5).Value
    Else
    MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
    End If
End If
End If
End Sub

فرم ثبت کاربر
دراين صفحه با استفاده از شي ADCDC1 ارتباطي بين بانك و برنامه بر قرار گرديده اطلاعات اين صفحه مستقيماٌ در جدول اجناس مثبت مي گردد. اين صفحه شامل 4 text به نام های
نام کاربر     نام خانوادگی کاربر  username , passwor
وجود دارد همچنين دو دكمه جديد جهت ايجاد فيلد جديد و ذخيره جهت ذخيره اطلاعات وجود دارد

 
Private Sub Command1_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" Then
If Text4.Text = Text5.Text Then
Adodc1.Recordset.AddNew
Else
MsgBox ("ʘÑÏÇÑ ÑãÒ ÚÈæÑ ÇÔÊÈÇå ÇÓÊ")
End If
Else
MsgBox ("ÇØáÇÚÇÊ ÑÇ ˜Çãá ˜äíÏ")
End If
End Sub

Private Sub Command2_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" Then
Text5.Text = ""
Adodc1.Recordset.AddNew
Else
MsgBox ("јæÑÏ ÎÇáí ãæÌæÏ ÇÓÊ")
End If
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
فرم ويرايش مشتری
دراين صفحه با استفاده از شي ADCDC1 ارتباطي بين بانك و برنامه بر قرار گرديده.
دراين صفحه دو دكمه يكي جستجو ديگري ذخيره مي‌باشد كه با فشردن دكمه جستجو صفحه‌اي با اين مضمون باز مي گردد كه لطفاٌ کاربر مورد نظر را جهت جستجو وارد نماييد
پس از وارد كردن نام اطلاعات مربوط به آن کاربر نمايان مي گردد.
پس از اعمال تغييرات دكمه ذخيره را فشار مي دهيم و تغييرات اعمال مي گردد.


 



Private Sub Command1_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" Then
If Text4.Text = Text5.Text Then
Adodc1.Recordset.AddNew
Else
MsgBox ("ʘÑÏÇÑ ÑãÒ ÚÈæÑ ÇÔÊÈÇå ÇÓÊ")
End If
Else
MsgBox ("ÇØáÇÚÇÊ ÑÇ ˜Çãá ˜äíÏ")
End If
End Sub

Private Sub Command2_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" Then
Text5.Text = ""
Adodc1.Recordset.AddNew
Else
MsgBox ("јæÑÏ ÎÇáí ãæÌæÏ ÇÓÊ")
End If
End Sub

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
فرم حذف كاربر
در اين فرم كاربر مي تواند با نوشتن نام مورد نظر در جاي خاليوي را از ليست كاربران حذف كند.
دراين فرم نيز از Datagrid جهت نمايش اطلاعات كاربران استفاده گرديده است.

 
Private Sub Command1_Click()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" Then
Text1 = Text7
Text2 = Text8
Text3 = Text9
Text4 = Text10
Adodc1.Recordset.Update
MsgBox ("ÇØáÇÚÇÊ æÇÑÏ ÑÏíÏ")
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Else
MsgBox ("ÇØáÇÚÇÊ ÑÇ ÈØæÑ ßÇãá æÇÑÏ ßäíÏ")
End If
End Sub

Private Sub Command3_Click()
f = InputBox("áØÝÇ äÇã ˜ÇÑÈÑ ãæÑÏ äÙÑ ÑÇ ÌåÊ ÌÓÊÌæ æÇÑÏ äãÇÆíÏ", "ÌÔÊÌæ ÌåÊ æíÑÇíÔ")
Adodc1.Recordset.MoveFirst
r = 1
While Adodc1.Recordset.EOF <> True And r <> 0
If Adodc1.Recordset.Fields(1).Value = f Then
w = Adodc1.Recordset.AbsolutePosition
r = 0
Else
Adodc1.Recordset.MoveNext
End If
Wend
If r = 0 Then
Text1 = Text7
Text2 = Text8
Text3 = Text9
Text4 = Text10
Else
MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
End If
End Sub
فرم فروش كالا
دراين فرم از اشياء ليست و combo جهت سهولت استفاده كاربر استفاده گرديده است در اين فرم كاربر مي تواند با انتخاب نام كالا از ليست و همچنين انتخاب نام فروشنده و مشتري از combo هاي مربوطه و نوشتن مقدار و قيمت پايه كالا جهت ثبت در جدول فروش كليد فروش را كليك كند كه علاوه بر ثبت اطلاعات قيمت كل كالا با ضرب كردن مقادير في و تعداد در جدول درج گردد.




 



Private Sub Command1_Click()
If List1.Text <> "" And Combo1.Text <> "" And Combo2.Text <> "" And Text7.Text <> "" And Text8.Text <> "" Then
Text9.Text = (Val(Text7.Text)) * (Val(Text8.Text))
Text10(0).Text = List1.Text
Text10(1).Text = Combo1.Text
Text10(2).Text = Combo2.Text
Text10(3).Text = Text7.Text
Text10(4).Text = Text8.Text
Text10(5).Text = Text9.Text
Adodc4.Recordset.AddNew
MsgBox ("ÚãáíÇÊ ÈÇ ãæÝÞíÊ ÇäÌÇã ÔÏ")
Else
MsgBox ("ÇØáÇÚÇÊ ÑÇ ˜Çãá æÇÑÏ ˜äíÏ")
End If
Adodc1.Refresh
End Sub

Private Sub Form_Load()
Adodc1.Recordset.MoveFirst
While Adodc1.Recordset.EOF <> True
List1.AddItem (Text1.Text)
Adodc1.Recordset.MoveNext
Wend
Adodc2.Recordset.MoveFirst
While Adodc2.Recordset.EOF <> True
Combo1.AddItem (Text2.Text)
Adodc2.Recordset.MoveNext
Wend
Adodc3.Recordset.MoveFirst
While Adodc3.Recordset.EOF <> True
Combo2.AddItem (Text3.Text)
Adodc3.Recordset.MoveNext
Wend
Text9.Locked = True
End Sub





فرم جستجوي کالا
اين فرم جهت بدست آوردن اطلاعات يكي کالا مي باشد.
در اين فرم از شي combe جهت انتخاب يكي از گزينه هاي نام / شماره استفاده گرديد كه كاربر با انتخاب يكي از آنها نوع جستجوي خود را انتخاب مي‌كند كه براساس نام کالا يا شماره مشتري
پس از انتخاب يكي از موارد فوق كاربر مقدار مورد جستجو را درون جاي خالي (text) نوشته و كليد جستجو را مي فشارد پس ازفشردن اين دكمه اطلاعات فرم مورد نظر ظاهر مي گردد.
دراين فرم از شي Datagrid نيز جهت نمايش كليه افراد موجود در بانك استفاده گرديده است.
 

Private Sub Command1_Click()
If Text1.Text <> "" Then
    If Combo1.Text = "äÇã" Then
    Adodc1.Recordset.MoveFirst
    r = 1
    While Adodc1.Recordset.EOF <> True And r <> 0
    If Adodc1.Recordset.Fields(1).Value = Text1.Text Then
    w = Adodc1.Recordset.AbsolutePosition
    r = 0
    Else
    Adodc1.Recordset.MoveNext
    End If
    Wend
    If r = 0 Then
    Text7 = Adodc1.Recordset.Fields(0).Value
    Text8 = Adodc1.Recordset.Fields(1).Value
    Text9 = Adodc1.Recordset.Fields(2).Value
    Text10 = Adodc1.Recordset.Fields(3).Value
    Text11 = Adodc1.Recordset.Fields(4).Value
    Text12 = Adodc1.Recordset.Fields(5).Value
    Else
    MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
    End If
End If
'********************************************'
    If Combo1.Text = "ÔãÇÑå" Then
    Adodc1.Recordset.MoveFirst
    r = 1
    While Adodc1.Recordset.EOF <> True And r <> 0
    If Adodc1.Recordset.Fields(0).Value = Text1.Text Then
    w = Adodc1.Recordset.AbsolutePosition
    r = 0
    Else
    Adodc1.Recordset.MoveNext
    End If
    Wend
    If r = 0 Then
    Text7 = Adodc1.Recordset.Fields(0).Value
    Text8 = Adodc1.Recordset.Fields(1).Value
    Text9 = Adodc1.Recordset.Fields(2).Value
    Text10 = Adodc1.Recordset.Fields(3).Value
    Text11 = Adodc1.Recordset.Fields(4).Value
    Text12 = Adodc1.Recordset.Fields(5).Value
    Else
    MsgBox ("ÑßæÑÏí ÈÇ Çíä ãÔÎÕÇÊ íÇÝÊ äãí ÔæÏ")
    End If
End If
End If
End Sub

Private Sub Form_Load()

End Sub





فرم گزارش کالا ها

 

Private Sub Command1_Click()
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from car"
Adodc1.Refresh
DataGrid1.Refresh
End Sub

Private Sub Command2_Click()
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from ajnas where ProductName like('%" + Text1 + "%')"
Adodc1.Refresh
DataGrid1.Refresh
End Sub




 

Private Sub Command1_Click()
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from car"
Adodc1.Refresh
DataGrid1.Refresh
End Sub


موضوعات مطلب: علمی و پزشکی . علمی و پزشکی .
نظرات مطلب

نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتی
صفحه اصلی آرشیو مطالب تماس با ما