صفحه اصلی سایت | صفحه اصلی انجمنها | قوانین سایت | ارسال ترفند | تبلیغات | تماس با ما
انجمن های تخصصی ترفندستان |‌ Tarfandestan Forums

  

 


اطلاع رسانی

مقالات آموزشی پیرامون IT کلیه مقالات آموزشی دنیای IT با دسته بندی موضوعی در این بخش قرار می گیرند. در صورتی که درخواست مقاله خاصی را نیز دارید از این بخش استفاده کنید.

ارسال موضوع جدید  پاسخ
لینک تاپیک ابزارهای تاپیک نحوه نمایش
آموزش کامل ویژوال بیسیک
 
 
Kasra Kasra آنلاین نیست.
امتیاز: 286,920, درجه: 100
امتیاز: 286,920, درجه: 100 امتیاز: 286,920, درجه: 100 امتیاز: 286,920, درجه: 100
درجه بالاتر: 0%, 0 امتیاز مورد نیاز
درجه بالاتر: 0% درجه بالاتر: 0% درجه بالاتر: 0%
فعالیت: 2.4%
فعالیت: 2.4% فعالیت: 2.4% فعالیت: 2.4%
اهدای امتیاز به این کاربر

تاریخ عضویت: Jul 2005
محل سکونت: تهران
پست ها: 20,312
تاپیک ها: 132
Apple-iPhone-3GS
Kaspersky Firefox Windows-7 IR-TCI
نوع و سرعت اینترنت:
ADSL-512 Kb/S

سپاس ها: 28,422
سپاس شده 28,739 بار در 7,632 پست
مطالب وبلاگ: 39

ویترین جایزه ها

Kasra به Yahoo ارسال پیام
 
5 August 2006
 امتیاز:     
11 (#)  
 
To0pi, جان بفرمایید:

لینک دانلود قسمت اول
لینک دانلود قسمت دوم
لینک دانلود قسمت سوم
:: حجم هر قسمت : تقریبا ۴۵ مگابایت - قسمت سوم : ۳ مگابایت


بجنگ مثل… کسی‌ که هیچی‌ واسه از دست دادن نداره...
 
 
پاسخ با نقل قول
 
کاربر ذیل به علت این پست مفید از Kasra تشکر کرده است:
آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
6 August 2006
 امتیاز:     
12 (#)  
 
Kasra ، جان ممنون که لینک را به دوستان معرفی کردی .

ولی چرا 2 بار

عیبی نداری مدیر سایت هم از این اشتباهات می کنه

 
 
پاسخ با نقل قول
 
کاربر ذیل به علت این پست مفید از king تشکر کرده است:
آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
6 August 2006
 امتیاز:     
13 (#)  
 
If Then / Else جلسه چهارم : تمرين - دستور


Visual Basic 6

آموزش قبلى يه برنامه گفتيم كه بنويسيد (محيط مستطيل) كه نمونه اون رو هم براتون گذاشتم البته بدون Source . حالا امروز كد اون برنامه رو براتون درست كردم و به صورت فايل زيپ براى دانلود گذاشتم . مىتونيد كدها شو از اونجا بردارين .



لينك دانلود به حجم 3 KB

http://vbasic.winpersian.com/Mohit-Mostatil.zip


خب در اين جلسه مىخوام براتون در مورد برنامه Then , If و Else صحبت كنم . خب منظور از دستور If اين است :

اگر اين شرط برقرار بود آنگاه فلان عمليات انجام شود .


دستور به صورت زير است :



If a = b Then

"Print "C

Else

"Print "E

End if




اگر : If

شرط : a = b

آنگاه : Then

اجراى برنامه در صورت تاييد شدن شرط : Print

وگرنه : Else

آرگومانى است كه در آخر دستورات if مىآيد : End If



خب برنامه اى مىنويسيم كه از طريق ورودى سه اسم بگيرد و اسمى كه على است را به وسيله يك خروجى است نمايش دهد .يك فرم جديد باز كنيد و در آن يك TextBox و يك Command Button بسازيد . روى دكمه Command Button دابل كليك كنيد و برنامه زير را بنويسيد .



()Private Sub Command1_Click
(:"a = InputBox("Name
(:"b = InputBox("Name
(:"c = InputBox("Name
If a = "ali" Or b = "ali" Or c = "ali" Then
"d = "ali
Text1 = d
End If
End Sub



توجه : Or به معنى يا است .



براى اجراى برنامه از منوى Run گزينه Start را انتخاب مىكنيم (Run / Start) و يا از دكمه F5 استفاده مىكنيم .



وقتى برنامه را اجرا كرديد روى دكمه Command Button كليك كنيد . حالا سه ورودى به صورت پشت سر هم مىآيد . در يكى از آنها اسم ali را وارد كنيم و در دو ورودى بعدى اسم هاى ديگرى را وارد مىكنيم . وقتى سه ورودى اجرا شدند اگر در اسم ها كلمه ali وارد شده باشد در TextBox نمايش داده مىشود .

به بزرگى و كوچكى كلمه نيز دقت كنيد چون كد اسكى هر حرف با هم فرق مىكنه . حتى در بزرگى و كوچكى حرف .



يك سرى از عمل گرهاى رابطه اى رو هم مىنويسم . حتما يا بگيريد .



مساوى =
بزرگتر <
كوچكتر >
بزرگتر مساوى =<
كوچكتر مساوى <=
نا مساوى <>




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

 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
9 August 2006
 امتیاز:     
14 (#)  
 
آشنایی کلی با پایگاه داده



درس اول


» از آنجا که پایگاه داده اصلی ترین مبحث ویژوال بیسیک است برای همین کار کردن با این بخش نسبت به مباحث دیگر دشوارتر و پیچیده تر بوده و تجربه و خلاقیت بالایی را باید برای کار کردن با این بخش داشته باشیم .


» پایگاه داده : پایگاه داده یا بانک اطلاعاتی محلی است برای نگهداری اطلاعات و داده های گوناگون به صورت یکپارچه ، منظم و مرتب که هر کدام از اطلاعات آن قابل دسترسی و پردازش می باشند .


» انواع برنامه هایی که توانایی ساخت فایلهای پایگاه داده را دارند و ویژوال بیسیک 6 قادر به ایجاد ارتباط با آنها می باشد عبارتند از : Access ، Foxpro ، dbase ، Paradox ، .... که مهمترین آنها برنامه Access از مجموعه برنامه های آفیس است . و کار با آن ساده تر و راحت تر از پایگاه داده های دیگر است . ما نیز از این پایگاه داده استفاده خواهیم کرد .


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


» اجزای یک پایگاه داده : فایل با پسوند *.mdb ----> جدول ها ----> فیلد ها ----> رکوردها


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


Text
نوع متنی که طول ظرفیت آن 256 کاراکتر است

Memo
نوع متنی که طول ظرفیت آن میتواند بیش از 256 کاراکتر باشد.( معمولا ذخیره کردن توضیحات )

Number
نوع عددی که خود آن به انواع مختلف تقسیم میشود(Integer، LongInt و ...)

Date\Time
نوعی برای نگهداری داده هایی با فرمت تاریخ و زمان

Currency
برای نگهداری داده های مالی یا ارزی از این نوع استفاده می شود

Yes\No
همانند نوع Boolean است که فقط مقدار -1 و 0 را می پذیرد

AutoNumber
نوعی برای تولید اعداد خودکار و غیر تکراری ( معمولا برای ساخت فیلد کلید )




که رکوردها کوچکترین و اساسی ترین جزء مجموعه بانک اطلاعاتی هستند و داده ها را مستقیما درخود نگهداری می کنند .

» برای مثال جدولی برای نگهداری اطلاعات شخصی افراد که می تواند فیلدی برای نگهداری نام ، فیلد دیگری برای نگهداری نام خانوادگی و انواع فیلدهای دیگر برای ذخیره سازی اطلاعات دیگر داشته باشد که با توجه به نوع داده ای که باید در آن ذخیره شود نوع آن تعیین می گردد . مثلا چون نام افراد باید متنی باشد از نوع Text انتخاب خواهد شد .


» برای آشنایی بیشتر شما برنامه Access را باز کنید و پایگاه داده را با نام Test.mdb ذخیره کرده و جدولی با نام Simple بسازید و فیلد های آن را به صورت زیر تنظیم کنید تا با این مبحث و برنامه Access به طور مختصر آشنا شوید . همچنین از این پایگاه داده که می سازید در ادامه استفاده خواهیم کرد :



ID
از نوعAutonumber برای نگهداری شماره مخصوص هر فرد به طور خودکار

Name
از نوع Text برای نگهداری نام افراد

Family
از نوع Text برای نگهداری نام خانوادگی




» تصویر جدول نمونه :



 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
9 August 2006
 امتیاز:     
15 (#)  
 
آشنایی با ابزار مخصوص برقراری ارتباط با پایگاه داده



درس دوم


» همانطور که در درس گذشته ( درس اول ) مشاهده نمودید ، یک آشنایی کلی با مفهوم پایگاه داده پیدا کردیم و با اجزا و انواع داده های موجود در یک پایگاه داده Access آشنا شدیم . حال در این درس می خواهیم با ابزارها و کنترلهایی که امکان ایجاد ارتباط ویژوال بیسیک با بانک اطلاعاتی را برای ما فراهم می کنند آشنا شویم .


» دو ابزار یا کنترلی که امکان ایجاد این ارتباط را به ما می دهند عبارتند از :


1- Data Control : این کنترل که به طور پیشفرض در جعبه ابزار یا Tool Box ویژوال بیسیک وجود دارد یکی از ابزارهای قدرتمند VB در زمینه کار با پایگاه داده است . در واقع این کنترل نماینده پایگاه داده در ویژوال بیسیک است و کارهایی از قبیل مدیریت جداول و اندیکس ها و همچنین ایجاد و حذف جدول و رکورد و جستجو و ***** سازی و غیره را به عهده دارد . کارایی این کنترل بسیار گسترده و وسیع است و می تواند بهترین انتخاب برای نوشتن برنامه هایی باشد که قرار است فقط روی یک کامپیوتر به طور مستقل اجرا گردند .

تصویر کنترل :





2- ADO Objects : این کنترل ابزار دیگری برای ایجاد ارتباط با پایگاه داده است و گستردگی کمتری نسبت به Data Control دارد . از این کنترل معمولا برای ایجاد ارتباط سریع و آسان با پایگاه داده استفاده می شود . همچنین این کنترل توانایی برقراری ارتباط با پایگاه داده واقع در مکانی دیگر با استفاده از سیستم شبکه ای را دارد . ولی این کنترل در جعبه ابزار وجود ندارد و باید به آن اضافه گردد که بعدا خود این کنترل به طور کامل توضیح داده خواهد شد .


تصویر کنترل :





» برای کار با پایگاه داده فقط ایجاد ارتباط با آن کافی نیست . بلکه ما نیاز داریم که اطلاعات درون جدول ها و رکوردها را مشاهده کنیم و بر روی آنها پردازش انجام دهیم که این کار مستلزم استفاده از ابزارها و کنترل های دیگر است . برای نمونه اگر ما بخواهیم اطلاعات درون یک رکورد که نام یک شخص در آن ذخیره شده است را ببینیم باید آن را توسط یک کنترل که با پیوندی به یکی از کنترل های ایجاد کننده ارتباط با پایگاه داده متصل است به نمایش در آوریم . برای مثال ازکنترل Label استفاده کنیم . حال اگر بخواهیم بر روی این مقدار پردازش هم انجام دهیم باید آن را توسط کنترل Text Box نمایش دهیم چون درون آن را می توانیم ویرایش کنیم.


» برای شروع ما با Data Control کار خواهیم کرد.خصوصیت های مهم شی ء Data Control :



Connect
این خصوصیت مشخص کننده نوع پایگاه داده که قرار است ارتباط با آن برقرار گردد و به طور پیشفرض Access تعیین شده است.

DataBaseName
این خصوصیت مهمترین خصوصیت کنترل Data به شمار می رود که مسیر و نام پایگاه داده را در خود جای می دهد .

ReadyOnly
این خاصیت مشخص می کند که آیا پایگاه داده میتواند پردازش شود یا باید هیچ تغییری در آن ثبت نشود . که به طور پیشفرض False یعنی قابل پردازش میباشد .

RecordSetType
نوع رکوردست کاری را مشخص می کند که در صورت لزوم توضیح داده خواهدشد .

DataSource
این خصوصیت بعد از تکمیل خصوصیت DataBaseName قابل استفاده است و نام جدول ها و بازجست های ( Query ) موجود در پایگاه داده را به صورت لیست کشویی برای ما نمایش می دهد که ما می توانیم یکی از آنها را انتخاب کنیم .




» نکته اساسی : در واقع مهمترین مشکل ویژوال بیسیک 6 در کار با پایگاه داده Access این است که اگر شما از کنترل Data برای برقراری ارتباط استفاده کنید و فرمت پایگاه داده شما بالاتر از Access 97 باشد یعنی ( 2000 ، XP ، 2003 ) با خطایی مبنی بر عدم پشتیبانی یا شناسایی مواجه خواهید شد . یا به عبارتی شما در صورتی میتوانید از کنترل Data برای برقراری ارتباط با پایگاه داده Access استفاده نمایید که فرمت پایگاه داده شما Access 97 یا همان ( Office 97 ) باشد . برای حل این مشکل چند راه حل وجود دارد :


» راه حل 1 : از کنترل ADO یا Adodc به جای Data استفاده کنید که این کار در بیشتر مواقع نمی تواند به صرفه باشد .

» راه حل 2 : فرمت پایگاه داده شما Access 97 باشد یعنی باید از برنامه Access موجود در Office 97 استفاده کنید که در این صورت مجبور خواهید بود با ویندوز 98 کار کنید . چون XP قادر به پشتیبانیAccess 97 نخواهد بود .

» راه حل 3 : این راه حل بهترین راه حل است ، یعنی استفاده از تکه برنامه ای به نام Service Pack 6 که پس از نصب ویژوال بیسیک6 بر روی کامپیوتر نصب میشود و مشکل را رفع می کند . یعنی شما میتوانید پس از نصب این تکه برنامه از هر کدام از فرمت های پایگاه داده Access در کنترل Data استفاده کنید . ظرفیت فشرده شده این برنامه حدود 26 مگابایت است که شما می توانید از سایت Microsoft دانلود کنید . البته با نرم افزار Download Accelerator Plus می توانید به صورت بخش به بخش این برنامه را دانلود نمایید که به نظر من بهترین روش است .

لینک دانلود = http://www.microsoft.com/downloads/d...displaylang=en


» پس از دانلود این برنامه برای نصب آن فایل Setupsp6.exe را اجرا نمایید.

» توجه داشته باشید که هنگام نصب این برنامه نباید ویژوال بیسیک شما در حالت اجرا باشد.


» انشا ء الله در درس بعدی کار خود را با یک مثال ساده دنبال خواهیم کرد .

 
 
پاسخ با نقل قول
 
3 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), sky.boy63 (10 July 2010), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
9 August 2006
 امتیاز:     
16 (#)  
 
استفاده از کنترل Data با یک مثال



درس سوم



» اگر به خاطر داشته باشید در درس اول یک پایگاه داده ساده برای نگهداری نام و نام خانوادگی افراد در برنامه Access ایجاد کردیم . حال میخواهیم از همان پایگاه داده برای نمایش روش ایجاد ارتباط با استفاده از کنترل داده یا همان Data Control در یک برنامه ساده استفاده کنیم . مراحل ساخت این برنامه را به صورت زیر آغاز می کنیم :

» باید توجه داشته باشید که میتوان پایگاه داده را به دو صورت دستی و یا کد نویسی در برنامه برای کنترل Data بار کرد که من هر دوی این روش را توضیح خواهم داد . البته استفاده از روش کد نویسی بهتر بوده و مورد تأکید برنامه نویسان است .

» ایجاد یک پروژه جدید : ویژوال بیسیک را اجرا کرده و یک پروژه از نوع استاندارد ایجاد نمایید .فرم اصلی یا Form1 یک را مشاهده می کنید .

» اضافه کردن کنترل داده : برای این کار از جعبه ابزار بر روی کنترل Data دو بار کلیک کنید تا در وسط فرم قرار گیرد و یا آن را انتخاب کرده و بر روی فرم خود بکشید تا بر روی فرم قرار گیرد . البته اندازه و محل قرار گیری این فرم بستگی به سلیقه و نظر برنامه نویس دارد .

» تنظیم خواص DataBaseName و RecordSource : برای این کار خاصیت مربوط به Data1 را با انتخاب پایگاه داده خود تنظیم کنید . برای مثال اگر پایگاه داده شما در C:\Test VB\Test.mdb قرار داشته باشد پس از انتخاب پایگاه داده مورد نظر مقابل خاصیت DataBaseName شما برابر با این آدرس خواهد شد . حال روی خاصیت RecordSource کلیک کنید تا لیست جداول برای شما نمایش داده شود . شما جدول Simple را انتخاب کنید . حال مانند تصویر زیر 3 عدد TextBox روی فرم خود قرار دهید و خاصیت های آنها را به صورت زیر تنظیم کنید :


نام کنترل = Text1
خاصیت DataSource = Data1
خاصیت DataField = ID

نام کنترل = Text2
خاصیت DataSource = Data1
خاصیت DataField = Name

نام کنترل = Text3
خاصیت DataSource = Data1
خاصیت DataField = Family






» همانطور که در تصویر می بینید با استفاده از کنترل Label می توانید برچسب مربوط به فیلد خود را برای کاربر نمایش دهید تا کاربر درک درستی از برنامه داشته باشد .

» همانطور که در تصویر دیده می شود خاصیت Enabled مربوط به TextBox فیلد شماره False است یعنی فقط کاربر قادر به دیدن شماره می باشد و نمی تواند آن را تغییر دهد ، این به این دلیل است که این شماره چون از نوع Autonumber در نظر گرفته شده و برنامه به طور خودکار برای هر رکوردی که ایجاد می شود یک شماره تولید می کند پس کاربر حق تغییر آن را نخواهد داشت مگر در شرایطی خاص .


همانگونه که دیدید کارهایی را که شما انجام دادید مانند انتخاب پایگاه داده و تنظیم جدول حالتی دستی یا ویژوال داشت . حال روش استفاده از کد نویسی برای بار کردن پایگاه داده در برنامه :


» برای این کار تقریبا مانند قبل عمل خواهیم کرد با این تفاوت که نه پایگاه داده خود را برای کنترل Data انتخاب خواهیم کرد و نه خاصیت DataField را برای TextBox های خود . بلکه این کار ها را با کد نویسی انجام خواهیم داد.

نکته : خاصیت DataSource مربوط به TextBox ها را باید در هنگام طراحی تنظیم کنیم . چون امکان تنظیم آن با کد نویسی وجود ندارد .

» حال شما در Form_Load برنامه این کد ها را باید بنویسید :


» بار کردن پایگاه داده :

"Data1.DatabaseName = "C:\Test VB\Test.mdb

» تنظیم جدول مورد نظر :

"Data1.RecordSource = "Simple

» تنظیم فیلدها برای TextBox ها :


"Text1.DataField = "ID

"Text2.DataField = "Name

"Text3.DataField = "Family

» کد کامل برنامه :

()Private Sub Form_Load

"Data1.DatabaseName = "C:\Test VB\Test.mdb

"Data1.RecordSource = "Simple

Data1.Refresh

"Text1.DataField = "ID

"Text2.DataField = "Name

"Text3.DataField = "Family

End Sub

» از متد Refresh برای باز سازی پایگاه داده استفاده می شود و یکی از متد های اصلی کنترل Data میباشد .


» این هم برنامه نمونه این درس : دانلود

http://www.mediavb.persiangig.com/Da.../Test%20VB.zip

» شما پس از دانلود برنامه خوب به تنظیمات کنترل ها دقت کنید و پس از اجرای برنامه این خاصیت ها را از تنظیم خارج کرده و کدهایی را که در Form_Load نوشته شده است را فعال کنید و برنامه را مجددا اجرا نمایید . البته توجه داشته باشید که پوشه برنامه را در ریشه درایو C قرار دهید چون آدرس پایگاه داده C:\Test VB\Test.mdb می باشد .

 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
15 August 2006
 امتیاز:     
17 (#)  
 
آشنایی با رکوردست و متدهای مهم آن



درس چهارم




» همانطور که میدانید پردازش اطلاعات و داده ها در پایگاه داده عبارت است از ایجاد رکورد جدید برای ثبت اطلاعات جدید ، حذف رکورد اطلاعاتی ، ویرایش اطلاعات و داده ها و بسیاری کارهای دیگر . کنترل داده علاوه بر این که خصوصیتهایی برای ایجاد ارتباط با پایگاه داده دارد خاصیتی به نام RecordSet دارد که که بیشترین متدهای پردازش بر روی پایگاه داده را در خود جای داده است . با این خاصیت بیشتر آشنا می شویم :



RecordSet : یکی از مهمترین خواص کنترل داده است و به جدولی که ما از خاصیت RecordSource انتخاب می کنیم اشاره دارد . در واقع رکوردست همه کاره است . این خاصیت فقط در زمان اجرای برنامه فعال می شود و متدهای مربوط به پردازش بر روی داده ها را در خود جای داده است . که ما با مهمترین آنها که بیشترین کاربرد را دارند آشنا می شویم :



_ Move : با استفاده از این متد ما میتوانیم به رکورد مورد نظر حرکت کنیم . روش استفاده از این متد به صورت زیر است :

( شماره رکورد ) Data1.RecordSet.Move

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

_ MoveFirst : با استفاده از این متد ما میتوانیم به اول لیست یا جدول تغییر مکان دهیم . روش استفاده از این متد :

Data1.RecordSet.MoveFirst



_ MoveLast : این متد هم رفتن ما را به آخرین رکورد جدول فراهم می کند و روش استفاده از آن به صورت زیر است :

Data1.RecordSet.MoveLast



_ MoveNext : از این متد برای رفتن به رکورد بعدی استفاده می شود . نکته ای که در مورد این متد وجود دارد این است که برای استفاده از این متد باید رکورد بعدی موجود باشد وگرنه پیغام خطا صادر خواهد شد. روش استفاده :

Data1.RecordSet.MoveNext



_ MovePreivous : این متد هم برای برگشت به رکورد قبلی استفاده می شود که در این مورد هم باید رکورد قبلی موجود باشد . روش استفاده :

Data1.RecordSet.MovePrevious



_ EOF : این متد مشخص میکند که آیا اشاره گر در رکورد آخر قرار دارد یا خیر که در صورت قرار داشتن در رکورد آخر مقدار True و در غیر این صورت مقدار False به خود خواهد گرفت :

A = Data1.RecordSet.Eof



که مقدار A با توجه به موقعیت اشاره گر یکی از دو مقدار True یا False خواهد شد .

_ BOF : این متد هم مانند متد قبلی عمل می کند ولی با این تفاوت که قرار داشتن اشاره گر در ابتدای لیست را مشخص می کند .

A = Data1.RecordSet.Bof



_ FindFirst : از این متد برای جستجوی اولین رکوردی که با ضابطه ما مطابقت دارد استفاده می شود . برای مثال اگر ما در لیست دنبال شخصی با اسم " Ali " باشیم برای جستجوی آن باید از کد زیر استفاده کنیم :

( " 'Data1.RecordSet.FindFirst ( "Name= 'Ali

از ' ' برای جستجو در فیلد رشته ای استفاده می کنیم ، یعنی برای جستجوی فیلدهای عددی نباید از این علامتها استفاده کنیم این جستجو می تواند ضابطه پیچیده تر داشته باشد مانند :



( " 'Data1.RecordSet.FindFirst ( "Name= 'Ali' AND Family= 'Media

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



_ FindLast : این متد برای پیدا کردن آخرین رکورد موجود در لیست که با ضابطه و شرط ما همخوانی دارد استفاده می شود و طریقه استفاده از آن مانند متد FindFirst است :



( " 'Data1.RecordSet.FindFirst ( "Name= 'Ali' AND Family= 'Media

_ FindNext : این متد هم برای یافتن رکورد بعدی استفاده می شود . باید توجه داشت که برای استفاده از این متد حتما باید قبل از آن از متد FindFirst استفاده کرده باشید .

( " 'Data1.RecordSet.FindNext ( "Name= 'Ali' AND Family= 'Media

_ FindPrevious : از این متد هم برای یافتن رکورد قبلی استفاده می شود .

( " 'Data1.RecordSet.FindPrevious ( "Name= 'Ali' AND Family= 'Media

_ NoMatch : این متد مشخص می کند که جستجوی ما چه حاصلی در بر داشته است . اگر جستجوی ما به نتیجه نرسیده باشد مقدار آن True خواهد بود و در غیر این صورت False خواهد شد . برای مثال :



( " 'Data1.RecordSet.FindFirst ( "Name= 'Ali' AND Family= 'Media

If Data1.RecordSet.NoMatch Then

"شخص مورد نظر شما در لیست یافت نشد"MsgBox

Else

" شخص مورد نظر شما در لیست موجود است"MsgBox

End If

_ AddNew : از این متد برای ایجاد رکورد جدید در جدول استفاده می شود .

Data1.RecordSet.AddNew

_ Delete : از این متد هم برای حذف رکورد مورد نظر استفاده می شود .

Data1.RecordSet.Delete

_ Edit : این متد قابلیت ویرایش جدول را فعال می کند و ما میتوانیم محتویات رکوردها را تغییر دهیم :



Data1.RecordSet.Edit

_ Update : از این متد برای ذخیره کردن رکورد ایجاد شده و یا ویرایش شده استفاده می کنیم . البته قبل از این متد باید یکی از متدهای AddNew یا Edit اجرا شده باشد :

Data1.RecordSet.Update

_ RecordCount : این متد مشخص می کند که جدول ما دارای چند رکورد است و فقط قابل خواندن می باشد :

A = Data1.RecordSet.RecordCount

_Filter : از این متد برای نمایش دادن اطلاعات خاصی که ما برای آن ضابطه تعیین می کنیم استفاده می شود . البته تأثیر این متد در استفاده از کنترل جدول نمایانتر است :



" 'Data1.RecordSet.FindFirst "Name= 'Ali

در این مثال رکوردهایی نمایش داده خواهند شد که فیلد نام آنها برابر با 'Ali' باشد . در این متد هم می توانیم از OR و AND برای دقیقتر کردن ضابطه استفاده کنیم .



_ Sort : ما با این متد می توانیم اطلاعات و رکوردهای جدول خود را بر اساس یک فیلد مرتب سازی کنیم :



Data1.RecordSet.Sort

» شما این برنامه نمونه را دانلود کرده و به طریقه کد نویسی و استفاده از دستورات در آن توجه کنید تا کاملا با مبحث این درس آشنا شوید :





دانلود برنامه نمونه =

http://www.mediavb.persiangig.com/Data%20Base/Code/VB%20(L4).zip

 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
15 August 2006
 امتیاز:     
18 (#)  
 
انواع رابطه ها در پایگاه داده



درس پنجم




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



» معمولا هر جدول یک فیلد موسوم به فیلد کلید KeyField دارد که از آن برای حفظ یکپارچگی پایگاه داده و برقراری رابطه با جدول های دیگر استفاده می کند . هر جدول می تواند فقط یک فیلد کلید یا کلید اولیه داشته باشد ، ولی می تواند دارای چند فیلد خارجی Foreign Key باشد . نحوه نمایش داده ها را فیلد کلید اصلی کنترل می کند و از فیلد خارجی برای مرتب کردن جدول با جدول های دیگر استفاده می شود .



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



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



» رابطه یک به یک : در این نوع ارتباط فیلدی در جدول اول یا اصلی به عنوان فیلد کلید تعریف می شود و با فیلد دیگری که در جدول بعدی یا فرعی به عنوان فیلد کلید تعریف شده است ارتباط داده می شود . در این صورت اطلاعات موجود در فیلد جدول فرعی باید کاملا مشابه اطلاعات و داده های موجود در فیلد کلید اصلی اصلی باشد . یعنی برای هر رکورد موجود در فیلد کلید اصلی باید رکورد متناظر با آن در فیلد کلید فرعی موجود باشد . و نمی تواند رکورد تکراری در هر یک از جدول ها وجود داشته باشد .






» رابطه یک به چند : در این نوع ارتباط فیلد اشاره گر می تواند به چند رکورد در جدول های دیگر اشاره کند یا این که برای هر رکورد موجود در فیلد کلید اصلی چند رکورد متناظر با آن در جدول های دیگر موجود باشد .



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



نکته : ارتباط یک به چند مهمترین و پر کاربرد ترین ارتباط موجود در میان جدول ها محسوب میشود .





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



خلاصه مطلب : ساخت برنامه هایی که از پایگاه داده در سطح گسترده ای استفاده می کنند بدون ایجاد ارتباط بین جدول ها توسط فیلد های کلید امکان پذیر نیست .


 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
15 August 2006
 امتیاز:     
19 (#)  
 
استفاده از دستورات SQL در ویژوال بیسیک (1)



درس ششم




» SQL چیست ؟ : SQL خلاصه یا مخفف کلمات ( Structured Query Language ) به معنی زبان جستجوی ساخت یافته است . SQL زبانی است بسیار قدرتمند که از آن برای دسترسی به پایگاه داده و پردازش اطلاعات آن استفاده می شود .دستورات SQL به دو دسته کلی تقسیم می شوند :


1 ) دستورات پردازش داده (DML ) : از این دستورات برای استخراج ، مرتب سازی ، خلاصه سازی و محاسبه روی جدول ها استفاه می شود .


2 ) دستورات تعریف داده (DDL ) : با استفاده از این دستورات ما قادر خواهیم بود تا در یک پایگاه داده جدول ، اندیس و رابطه تعیین کنیم .


» دستورات SQL تقریبا در تمام بانکهای اطلاعاتی رابطه ای مانند : SQL Server ، Oracle ، Access و غیره که قابلیت پشتیبانی آن را دارند می تواند مورد استفاده قرار گیرد . دستورات SQL دستورات بسیار ساده ای هستند که میتوان آنها را بر روی تمامی اجزاء و اشیاء پایگاه داده اجرا کرد . تمامی برنامه هایی که به طریقی با پایگاه داده رابطه ای سرو کار دارند از SQL استفاده می کنند.


» در این درس ما می خواهیم با دستورات DML یا همان پردازش داده SQL آشنا شویم و یاد بگیریم که چگونه و در کجا از آنها استفاده کنیم .


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


()Private Sub Form_Load

"Data1.DatabaseName = "C:\Data.mdb

"Data1.RecordSource = "Student

Data1.Refresh

End Sub

ما دستورات SQL را در قسمت RecordSource به کار خواهیم برد ، یعنی قسمتی که از طریق آن جدول یا فیلد های مورد نظر برای رکوردست ما تعیین می شود . دستورات SQL به قدری قدرتمند است که با یک خط کد ساده ما می توانیم چندین عملیات مشکل که توسط دستورات خود ابزار Data انجام می دادیم را به راحتی انجام دهیم . این دستورات به طور کلی باید به فرم یک رشته باشد . در این حالت شما فقط باید دقت داشته باشید تا دستورات را به شکل صحیح بنویسید چون محیط ویژوال بیسیک هیچ گونه کنترلی بر روی این رشته نخواهد داشت :


"دستوراتData1.RecordSource=" SQL

البته من در این آموزش دستورات SQL را به رنگ آبی می نویسم تا مشخص باشند . ولی در حالت واقعی آنها رنگ سیاه خواهند داشت .


دستورات SQL :


» SELECT_FROM : این دستور که مهمترین و پرکاربرد ترین دستورد در SQL به شنار می رود ، میتواند رکوردهای مورد نظر را از یک یا چند جدول استخراج نماید . نتیجه هر دستور SELECT_FROM یک مجموعه یا نما از داده های استخراج شده است . برای مثال :

" Data1.RecordSource=" SELECT Name,Family FROM Student

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

SELECT * FROM Student

بیشتر مواقع شما نیاز دارید اطلاعاتی را از چند جدول استخراج کنید در این حالت باید شما از دستور SCELET_FROM به صورت زیر استفاده کنید :


SELECT Student.Name,Student.Family,Lesson.Dars,Lesson.Ost ad FROM Student,Lesson


اگر دقت کنید در این دستور برای این که مشخص شود که فیلد نام از کدامیک از جدول ها و فیلد استاد از کدام جدول انتخاب شود باید پیشوند نام جدول همراه با یک (.) به نام فیلد اضافه گردد .همچنین شما می توانید دو فیلد را با هم ادغام کرده و به عنوان یک فیلد استفاده کنید :


SELECT Name + Family AS Media FROM Student

در این مثال دو فیلد نام و نام خانوادگی با هم ادغام شده و به نام فیلد Media در آمده اند و شما میتوانید از این فیلد مانند یک فیلد معمولی استفاده کنید همچنین شما می توانید از کاراکتر & هم برای این ادغام استفاده کنید یا میتوانید ادغام این دو فیلد را درون پرانتز انجام دهید :

"Text1.DataField="Media


البته نتیجه این چنین عملیاتی در استفاده از جدول ها بسیار قابل فهم تر است .


» ORDER BY : وقتی که ما از دستور SELECT_FROM استفاده می کنیم رکوردها به همان ترتیبی که در جدول اصلی قرار دارند نمایش داده می شوند . ولی ما میتوانیم با استفاده از دستور ORDER BY رکوردها را به حالت دلخواه به صورت نزولی( DESC ) یا صعودی ( ASC ) مرتب کنیم . برای مثال :


SELECT * FROM Student ORDER BY Name DESC

در این دستور همه فیلد های جدول دانش آموزان بر اساس فیلد نام به صورت نزولی مرتب می شوند .


دستور ORDER BY می تواند بیش از یک فیلد را اساس مرتب سازی خود قرار دهد :


SELECT * FROM Student ORDER BY Name DESC,Family ASC

در این مثال درستور ORDER BY ابتدا جدول را بر اساس فیلد نام به صورت نزولی مرتب می کند و سپس مرتب سازی بر اساس فیلد نام خانوادگی به صورت صعودی انجام خواهد شد .


» WHERE : یکی از قویترین جنبه های دستور SELECT_FROM کنترل تعداد رکوردهای برگشتی با استفاده از شرطی که با دستور WHERE تعیین می شود است . در واقع این دستور جزئی از دستور SELECT_ FROM است . از این دستور به دو روش استفاده می شود :


> استفاده از WHERE برای محدود کردن رکوردهای اتنخابی :

'SELECT * FROM Student WHERE Name = 'Ali


شما میتواند در این دستور از عملگرهای منطقی مانند : = ، > ، < ، <> ، =< ، => نیز استفاده کنید . همچنین می توانید چندین شرط را با عملگرهای منطقی AND و OR ادغام کنید :


'SELECT * FROM Student WHERE Name = 'Ali' AND Family <> ' Player

همچنین فیلدهایی از نوع رشته ای را باید درون علامت'' قرار دهید .

SQL مایکروسافت از عملگرهای BETWEEN_AND ، IN و LIKE هم در استفاده از دستور WHERE پشتیبانی می کند و از آنها می توان به صورتهای زیر استفاده کرد :


_ BETWEEN_AND : با استفاده از این کد ما میتوانیم رکوردهای خروجی را بین دو محدوده قرار دهیم :


SELECT * FROM Student WHERE ID BETWEEN 10 AND 20

در این دستور رکوردهای انتخاب خواهند شد که فیلد ID آنها بین عددهای 10 و 20 است . البته بهتر است فیلد مورد استفاده در این نوع دستور از نوع عددی باشد .


_ IN : با استفاده از این دستور ما میتوانیم اطلاعات را به صورت پراکنده و نا پیوسته انتخاب کنیم :


('SELECT * FROM Student WHERE Name IN ( 'Ali','Hassan','Mehdi


_ LIKE : ما می توانیم با این عملگر بسیار قدرتمند رکوردهای خود را از میان رکوردهایی که شباهت جزئی با هم دارند انتخاب کنیم :

('*SELECT * FROM Student WHERE Name LIKE ( '*Ali

در این دستور رکوردهایی انتخاب خواهند شد که در فیلد نام آنها کلمه یا رشته 'Ali' به کار رفته باشد .


> استفاده از WHERE برای لینک کردن دو یا چند جدول :


SELECT Table1.FieldA,Table2.FieldA FROM Table1,Table2 WHERE Table1.FieldA=Table2.FieldA

در این دستور حتی جدولهای Table1,Table2 می توانند از دو پایگاه داده متفاوت باشند . در واقع این دستور یک Query یا بازجست را برای ما شبیه سازی می کند و کاربردهای بسیاری می تواند داشته باشد .


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


نکته : نیازی نیست که فیلد های مقایسه شونده در قسمت WHERE حتما در قسمت SELECT قید شوند بلکه موجود بودن آنها در جدولهای اصلی برای این کار کافی است .


نکته : ترکیبی که از این دو جدول با این روش حاصل می شود به هیچ وجه قابل تغییر نیست .


همچنین می توان دو نوع شرط WHERE را در یک دستور SELECT_FROM ترکیب کرد :


SELECT Table1.Name,Table2.Family FROM Table1,Table2 WHERE Table1.ID=Table2.ID AND Table1.ID BETWEEN 10 AND 25

همچنین شما می توانید با دستور WHERE بیش از دو جدول را به هم لینک کنید و نیازی نیست که فیلدهای ارتباطی جدول اول و جدول دوم با فیلد ارتباطی جدول دوم و سوم برابر باشند :


SELECT Table1.ID,Table2.Name,Table3.Family FROM Table1,Table2,Table3 WHERE Table1.ID=Table2.ID AND Table1.Name=Table3.Name

» DISTINCT : از دستور شرطی زمانی استفاده می شود که ما بخواهیم رکوردهای تکراری را در لیست استخراجی خود نداشته باشیم .

SELECT DISTINCT Name FROM Student ORDER BY Name


اگر شما در این دستور چند فیلد را قرار داده باشید غیر تکراری بودن همه آنها تست خواهد شد .


» DISTINCTROW : از این دستور شرطی هم رمانی استفاده می کنیم که بخواهیم رکوردهایی را استخراج کنیم که که در آنها یکی از فیلد ها با بقیه متفاوت باشد :


SELECT DISTINCTROW FROM Student ORDER BY Name

» JOIN : این شرط نیز یکی دیگر از ابزارهای قدرتمند SQL است . اگر به یاد داشته باشید تنها مشکل در استفاده از دستور شرطی WHERE غیر قابل دستکاری بودن نتایج آن بود که با استفاده از JOIN این مشکل حل خواهد شد و ما خواهیم توانست دو جدول را به هم لینک کنیم و نتیجه هم قابل دستکاری باشد . 3 نوع شرط JOIN عبارتند از :


1 ) INNER JOIN

2 ) LEFT JOIN

3 ) RIGHT JOIN


> INNER JOIN : با این دستور شرطی می توان رکوردهایی که در دو جدول کاملا شبیه به هم هستند را استخراج کرد :

SELECT Student.Name,lesson.Dars FROM Student INNER JOIN Lesson ON Student.ID=Lesson.ID


در این کد نمونه همه رکوردهایی که فیلد ID آنها در هر دو جدول یکی باشد استخراج خواهد شد . شرط INNER JOIN بهترین انتخاب برای جدولهایی است که با رابطه یک به یک به هم وابسته اند . این شرط روی فیلد هایی که منحصر به فرد هستند بهتر عمل می کند چون اگر این فیلد تکرار شود ، همه تکرارها هم به خروجی منتقل خواهند شد .


> LEFT JOIN : این دستور شرطی تمام رکوردهای جدول سمت چپ را همراه رکوردهایی از جدول سمت راست که فیلد معادل یا منطبق داشته باشند بر خواهد گرداند :


SELECT Student.Name,lesson.Dars FROM Student LEFT JOIN Lesson ON Student.ID=Lesson.ID

> RIGHT JOIN : این شرط نیز عملکردی کاملا مشابه شرط LEFT JOIN دارد با این تفاوت که تمام رکودهای جدول سمت راست را بر می گرداند .


 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
 
king king آنلاین نیست.
امتیاز: 32,476, درجه: 55
امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55 امتیاز: 32,476, درجه: 55
درجه بالاتر: 48%, 574 امتیاز مورد نیاز
درجه بالاتر: 48% درجه بالاتر: 48% درجه بالاتر: 48%
فعالیت: 0.0%
فعالیت: 0.0% فعالیت: 0.0% فعالیت: 0.0%
اهدای امتیاز به این کاربر

تاریخ عضویت: Oct 2005
محل سکونت: مشهد مقدس
سن: 26
پست ها: 3,326
تاپیک ها: 221
Nokia-N97
NOD32 Firefox Windows-XP IR-TCI
نوع و سرعت اینترنت:
بیش از ADSL-2 Mb/S

سپاس ها: 1,830
سپاس شده 2,138 بار در 725 پست
king به Yahoo ارسال پیام
 
22 August 2006
 امتیاز:     
20 (#)  
 
گزارش گیری از پایگاه داده در ویژوال بیسیک





» همانطور که شما عزیزان می دانید گزارشگیری می تواند یکی از ویژگیهایی باشد که یک برنامه پایگاه داده را کاملتر و قابل استفاده تر می کند و کاربران به استفاده از این نوع برنامه ها رغبت بیشتری دارند . یعنی به طور کلی امکان گزارشگیری در یک برنامه از مهمترین ویژگیهای آن است . از گزارشگیری بیشتر در چاپ استفاده می شود و کاربر می تواند قبل از چاپ اطلاعاتی را مشاهده و ارزیابی کند . در این درس من روش ساخت گزارش معمولی با استفاده از امکانات آماده خود ویژوال بیسیک را توضیح خواهم داد ، ولی اکتیوایکس های پیشرفته تری مانند کریستال ریپورت ( 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

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

 
 
پاسخ با نقل قول
 
2 کاربر ذیل به علت این پست مفید از king تشکر کرده اند:
love_75 (4 July 2008), آرش (10 February 2009)
پاسخ

اضافه کردن این تاپیک به یک سایت اشتراک‏گذاری لینک

برچسب ها
ویژوال, کامل, آموزش, بیسیک


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای تاپیک
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است
Trackbacks are غیر فعال
Pingbacks are غیر فعال
Refbacks are فعال

انتخاب سریع یک انجمن

موضوعات مشابه
موضوع ارسال کننده تاپیک انجمن پاسخ ها آخرین نوشته
مرجع كامل ضد امنيت شبكه ( به زبان فارسي ) moonomid مقالات آموزشی پیرامون IT 16 7 April 2010 11:31 AM
مجموعه 2 ، 3 هزارتایی کتابهای آموزشی ( کامپیوتر ) NAJI مقالات آموزشی پیرامون IT 10 8 August 2008 01:29 PM
سرور کردن سیستم azee مباحث مربوط به شبکه های کامپیوتری 19 9 April 2008 01:42 PM
شبکه کردن کامپيوتر ها seyyed مباحث مربوط به شبکه های کامپیوتری 16 9 April 2008 01:35 PM
دانلود رایگان هزاران کتاب الکترونیکی فارسی takbook کتاب ها و مجلات الکترونیکی 1 22 February 2008 02:22 PM


اکنون ساعت 04:11 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.


کلیه حقوق مادی و معنوی مربوط و متعلق به وب سایت ترفندستان است.
برداشت مطالب در نشریات، سایت‏ها و وبلاگ‏ها تنها با ذکر نام ترفندستان مجاز است.
هر گونه استفاده تجاری از ترفندهای ترفندستان به صورت کتاب، کتابچه، جزوه، دست‏نویس، CD و DVD و نظایر آن به هر شکل و نحو کاملاً ممنوع می‏باشد و هر گونه تخلف پیگرد قانونی دارد.
واژه «ترفندستان» برای اولین بار در ادبیات فارسی توسط وب‏سایت ترفندستان ابداع شده است و سایت‏ها و وبلاگ‏ها با نام مشابه هیچ ارتباطی با این سایت ندارند.
پشتیبانی و میزبانی توسط HostDL