ارتباط یک به یکی یا یک به چند در Access

mnakhaei

New Member
روابط در اکسس

saalek گفت:
مطلب زير از nima_dir كه در تاپيك ((ارتباط ويژوال بيسيك و ديتابيس )) به آدرس :

http://forum.majidonline.com/showthread.php?t=43213&page=2

پست زده بودند به اينجا منتقل شده.

= = = = == = = == = = == = = == = = = = == =
با سلام خدمت دوستان عزيزم:
مي خواهيم يه مقدار در مورد دستورات SQL صحبت كنيم.دستورات SQL دستوراتي براي كار با ديتا بيس هستند كه مي توانند اطلاعات را از ديتا بيس استخراج كنند يا به آن وارد كنند يا تغيير دهند.

و اما مهمترين دستورات SQL :
دستور SELECT : فرمت اين دستور به صورت زير است:

کد:
SELECT  [اسامي فيلدها]
FROM [اسامي جداول]
WHERE[شرط]
ORDER BY[اسامي فيلدها]
GROUP BY[اسم فيلد]
HAVING[شرط]
اين دستور يك سري ركورد را از ديتا بيس بازيابي مي كند.
در جلوي دستور SELECT اسامي فيلدهايي كه مي خواهيم بازيابي كنيم مي نويسيم. مثلا اگر جدولي داشته باشيم كه شامل فيلدهاي نام و نام خانوادگي و شماره باشد (فرض اسم اين جدولEMP ) اگر بخواهيم فقط نام و شماره را بازيابي كنيم بايد به صورت زير عمل كنيم:

کد:
 SELECT  EMP.NAME,EMP.NO

اگرعمليات ما روي يك جدول باشد نوشتن اسم جدول الزامي نيست اما اگر بخواهيم اطلاعات را از چندين جدول بازيابي كنيم بايد حتما اسم جدول را ذكر كنيم. اگر بخواهيم كل فيلدها را بازيابي كنيم جلوي SELECT مينويسيم * (اگر چندين جدول بود مي نويسيم EMP.* )

در جلوي دستور FROM اسامي جدول يا جداولي كه مي خواهيم از آنهااطلاعات بگيريم را مي نويسيم.
در جلوي دستور WHERE شرطي رو ميگذاريم كه اطلاعات بر اساس اون شرط بازيابي شوند. كلا ما هميشه احتياج نداريم كه هميشه همه اطلاعات ديتا بيس را بازيابي كنيم.

ORDER BY بر اساس يك يا چند فيلد ركورد ست را مرتب مي كند.
GROUP BY اطلاعات را بر اساس يك يا چند فيلد گروه بنديمي كند به صورتي كه مقدار اون فيلد در هر سطر يكتا باشد.
HAVING يك شرط را داخل گروه بررسي ميكند.

دو مورد آخر فعلا مورد نياز نيستند. انشا الله يه كمي جلوتر مفصل توضيح ميديم.
مثلا ميخواهيم كل ركوردهاي داخل EMP را استخراج كنيم:
کد:
SELECT * FROM EMP

توجه داشته باشيد كه حتما لازم نيست دستورات را طبقه اي بنويسيم . مي توانيم خطي بنويسيم.
مثال)مي خواهيم اطلاعات كارمند يا شماره 12 را استخراج كنيم ،
کد:
SELECT * 
FROM EMP
WHERE NO=12

مثال ميخواهيم شماره و نام خانوادگي كارمند با اسم نيما را بازيابي كنيم:

کد:
SELECT L_NAME,NO
FROM EMP
WHERE NAME=’NIMA’
فيلدهاي غير عددي بايد در داخل ‘ قرار گيرند.

دستورINSERT :
اين دستور يك ركورد را داخل ديتا بيس وارد ميكند فرمت آن بصورت
کد:
INSERT INTO [نام جدول] VALUES (FIELD1,FIELD2,…)

دو نكته: ترتيب فيلدها مهم است. و اينكه فيلدهاي غير عددي بايد داخل ‘ باشند.
حواستون باشه مقدار NULL به يك فيلدي كه نمي تواند مقدار NULL بگيرد نسبت ندهيد.
مثال:

کد:
INSERT INTO EMP VALUES(‘ALI’,’AMIRI’,21)

دستور DELETE:
اين دستور براي حذف يك يا چند ركورد از ديتا بيس استفاده ميشود.
فرمت:
کد:
DELETE FROM [اسم جدول] WHERE[شرط]

اگر كه قسمت WHERE را ننويسيم و اين دستور را اجرا كنيم همه ركوردها پاك ميشوند.

کد:
DELETE FROM EMP WHERE NO=17

دستور UPDATE :
براي تغيير يك ركورد استفاده مي شود.
فرمت:
کد:
UPDATE [نام جدول] SET [نام فيلد]= مقدار جديد WHERE [شرط]

مثال:
کد:
UPDATE EMP SET NAME=’HAMID’ WHERE NO=21

دوستان فعلا فكر ميكنم تا همينجا كافي باشه هنوز خيلي مطلب مونده مثل دستورات ساختن جدول يا توابع جمعي يا SELECT هاي تو در تو و....

عزيزان براي تمرين اين دستورات در ACCESS يك جدول بسازيد و روي قسمت QUERY كليك كنيد سپس گزينه

CREATE QUERY IN DESIGN VIEW

را كليك كنيد، يك پنجره باز ميشود از آن پنجره اسم جدول را انتخاب و روي گزينه ADD كليك كنيد سپس روي CLOSE كليك كنيد. ميبينيد كه در بالاي صفحه جدول شما اضافه شده در همان قسمت بالا، جايي كه چيزي نباشد، كليك راست كنيد و از منوي ظاهر شده گزينه SQL
VIEW را انتخاب كنيد. يك پنجره مثل پنجره نوت پد ويندوز باز ميشود ميتوانيد دستورات SQL را داخل آن بنويسيد. وقتي دستور را نوشتيد پنجره را ببنديد .درهنگام بستن از شما مي پرسد كه مي خواهيد اين QUERY را SAVE كنيد روي YES كليك كنيد و سپس يك نام بدهيد.

وقتي پنجره بسته شد ميبينيد كه QUERY شما اضافه شده با دوبار كليك روي اون مي توانيد QUERY را اجرا كنيد.
== === ==== === === === = ==== ===
من اين پست را اينجا زدم زيرا فكر كنم مناسب اين تاپيك هم هست ، علاوه بر آن تاپيك.

نيما جان دكمه پاسخ را كه بزني مي تواني متن و تگها را در اختيار داشته باشي. Queue را حذف كن از اول و آخرش تا يك پست عادي بشه.
بعد خودت اين پست را بزن تا اگر خواستي edit كني ، بتواني . بعد من پستم را ديلت مي كنم.
خيلي هم ممنون از شما هستم كه زحمت كشيديد. خيلي عالي بود.من هم چون بقيه تمرين و استفاده مي كنم.
بقيه هم را هم اينجا بزنيد بهتره چون اون تاپيك ميره پايين ولي اين سنجاقه. مي توانيد از آنجا لينك بدهيد براي راهنمايي كه ادامه اش اينجاست
.

salek جون
لطفا بفرمایید
دقیقا در هنگام تعریف relationship ها چه گزینه هایی باید تیک زده شوند تا روابط 1-1 1 به چند چند به1 ایجاد شود
لطفا همه حالات ممکن رو توضیح بدین
 

saalek110

Well-Known Member
دوستان خواهشا جواب بدهيد.
من هاردم سوخته و الان سيستمم هيچي رويش نصب نيست.
.
 

جدیدترین ارسال ها

بالا