PDA

View Full Version : رابطه



rohollahmahmoodiany
یک شنبه 30 بهمن 1384, 00:28 صبح
سلام
من جداول زیر را دارم
teacher->tid,tname
student->sid,stuname,tid
بین tid ها رابطه برقرار کرده ام.اما نمیدان چگونه وقتی که مثلا یک دانش اموز درج میشود مشخص کنیم که مربوط به کدام معلم است..من دقیقا نمیدانم که از رابطه موجود بین tid ها چگونه برای هماهنگی بین دو جدول استفاده کنم.

reza_rad
یک شنبه 30 بهمن 1384, 09:41 صبح
سلام
من جداول زیر را دارم
teacher->tid,tname
student->sid,stuname,tid
بین tid ها رابطه برقرار کرده ام.اما نمیدان چگونه وقتی که مثلا یک دانش اموز درج میشود مشخص کنیم که مربوط به کدام معلم است..من دقیقا نمیدانم که از رابطه موجود بین tid ها چگونه برای هماهنگی بین دو جدول استفاده کنم.

هر دانش آموز یک معلم دارد؟؟ یه کم بیشتر توضیح بدین در مورد منطق کار.

rohollahmahmoodiany
یک شنبه 30 بهمن 1384, 12:09 عصر
واضحه دیگه.یعنی اینکه هر معلم چه دانش اموزانی دارد؟

rohollahmahmoodiany
یک شنبه 30 بهمن 1384, 23:21 عصر
سوال من سخت که نیست.علاوه بر ان مزخرف هم نیست.(حد اقل از دید خودم)چون مربوط اصول اولیه طراحی پایگاه است.پس امیدوارم که یکی از دوستان لطف نه جواب بده

reza_rad
دوشنبه 01 اسفند 1384, 10:34 صبح
جناب آقای محمودیان
1- من منظور شما رو از اینکه گفتید رابطه ی بین tid ها رو برقرار کرده ام متوجه نشدم!؟ کمی بیشتر توضیح بدین لطفا(مگه teacher ها با هم چه جور رابطه ای دارند؟)
2- چرا از یک جدول دیگه برای ارتباط بین teacher و student استفاده نمی کنید؟ این راهکار شما فقط در مواردی درسته که هر دانشجو فقط یک معلم داشته باشه.اگه چند تا باشند باید table دیگه ای ایجاد کنید برای ارتباط این دو.

rohollahmahmoodiany
دوشنبه 01 اسفند 1384, 12:53 عصر
جناب آقای محمودیان
1- من منظور شما رو از اینکه گفتید رابطه ی بین tid ها رو برقرار کرده ام متوجه نشدم!؟ کمی بیشتر توضیح بدین لطفا(مگه teacher ها با هم چه جور رابطه ای دارند؟)
2- چرا از یک جدول دیگه برای ارتباط بین teacher و student استفاده نمی کنید؟ این راهکار شما فقط در مواردی درسته که هر دانشجو فقط یک معلم داشته باشه.اگه چند تا باشند باید table دیگه ای ایجاد کنید برای ارتباط این دو.
با تشکر
خوب حالا با همین فرض که هر معلم چند دانش اموز دارد وهر دانش اموز نیز چند معلم دارد میخواهیم یک رابطه بین انها برقرار باشد.چگونه باید عمل کرد.اگر هم منظور من گنگ است.لطف کنید یک مثال در همین رابطه بیاورید هر چیزی که به ذهنتان برسد

mzjahromi
دوشنبه 01 اسفند 1384, 13:01 عصر
اگر روابط به صورت چند به چند باشد. جدولهای شما باید به صورت زیر باشد

teacher->tid,tname
student->sid,stuname
Rel->sid,tid
در مورد روابط هم فکر میکنم اینجوری قابل درک تر باشه.

reza_rad
دوشنبه 01 اسفند 1384, 13:04 عصر
شما نیاز به سه تا جدول برای اینکار دارید
1- جدول student (شامل sid , ...)
2- جدول teacher ( شامل tid و ...)
3- جدول رابطه بین این دو ( شامل tid و sid و ...)

حالا در جدول سوم هر دانشجویی که در ارتباط با معلمی است را وارد کنید. در واقع این جدول tid رو از جدول teacher می گیره و sid رو از جدول student .
حالا اگه بخواهید معلم های یک دانشجو رو بکشید بیرون باید tid های مربوط به اون رو از جدول سوم بکشید بیرون.
اگه دانشجوهای یک معلم رو بخواهید برعکس.

rohollahmahmoodiany
دوشنبه 01 اسفند 1384, 22:32 عصر
خیلی ممنون.میدانم که سوالاتم زیاد شده است.اما خوب ببخشید دیگه..
ببینید اقای راد من یک سوال دارم واینکه ایا شما از رابطه نیز استفاده کردید.علاوه بر ان من نمیدانم که که جدول سوم را چگونه تشکیل دهم.امیدوارم که این بار نیز جواب بنده را بفرمایید.

rohollahmahmoodiany
دوشنبه 01 اسفند 1384, 22:36 عصر
اگر روابط به صورت چند به چند باشد. جدولهای شما باید به صورت زیر باشد

teacher->tid,tname
student->sid,stuname
Rel->sid,tid
در مورد روابط هم فکر میکنم اینجوری قابل درک تر باشه.
اگه ممکنه بیشتر توضیح بدید.چون اگه رابطه بین tid وsid برقرار شود.فکر میکنم رابطه یک به یک میشود.ایا انجوری نیست؟

mzjahromi
سه شنبه 02 اسفند 1384, 07:52 صبح
اگه ممکنه بیشتر توضیح بدید.چون اگه رابطه بین tid وsid برقرار شود.فکر میکنم رابطه یک به یک میشود.ایا انجوری نیست؟
نه اینجوری نیست.
ببینید: اونائی که زیرشون خط کشیده شدن کلید اصلی هستند. و معنی جدول سوم اینه که هر دانش آموز یک بار با یک معلم رابطه دارد. ولی هر دانش آموز میتواند چند معلم داشته باشد
1و1
1و2
1و3
از طرفی هر معلم هم می تواند چند دانش آموز داشته باشد
2و2
3و2
4و2
که این ردیفها هیچگاه تکراری نمیشوند . ضمن اینکه روابط شما هم به درستی حفظ میشود

simin_gh
یک شنبه 21 خرداد 1385, 23:24 عصر
من در همین مثال می خواهم که نام معلمان در یک combobox نمایش داده شود و با انتخاب هر معلم توسط کاربر دانش اموزان وی در یک لیست باکس که در یک subform قرار دارد نمایش داده شود
کوئری لازم؟کد لازم؟ در چه event ؟

شاپرک
دوشنبه 22 خرداد 1385, 06:23 صبح
Row source سابفرمت رو مساوی یک Query کن که در آن نام معلم رو از کمبو میگیره .
در After Update مربوط به کمبو Subform ات رو Requery کن درست میشه.

simin_gh
دوشنبه 22 خرداد 1385, 14:11 عصر
Requery کن .
reqery ؟یعنی چی؟ چطوری؟

شاپرک
دوشنبه 22 خرداد 1385, 14:17 عصر
subformName.Requery

simin_gh
سه شنبه 23 خرداد 1385, 13:50 عصر
واقعا منو ببخشید!!!!!
چند تا مشکل دیگه؟
اول اینکه subform خاصیتی به اسم rowsource نداره؟
دوم اینکه وقتی کنترلی را روی subform قرار میدهم زیر ان مخفی میشود.حتی bring to front نیز مشکلی حل نکرد/
سوم:در creteria مربوط به کوئری نوشتم:[forms]![form1]![combo0]![seltext] اما کار نداد؟

شاپرک
سه شنبه 23 خرداد 1385, 14:18 عصر
ببخشید منظورم Control source بود .
میشه برنامه ات رو بذاری اینجا تا راهنماییت کنم ؟

simin_gh
جمعه 26 خرداد 1385, 11:38 صبح
با تشکر
ببینید واضح است دیگه.در بالای فرم یک combo است که در ان نام معلمان نمایش داده میشود و در زیر ان فرم یک subform قرار دارد که در درون subform یک listbox قرار دارد.حالا میخواهیم کاربر با انتخاب یک معلم از combo نام دانش اموزان ان معلم در listbox نمایش داده شود.
اشکا لات :
1: کوئری که قرار است نام معلم را از combo بگیرد در قسمت criteria چه بنویسم.
2:وقتی که listbox را روی subform قرار میدهم listbox پشت subform مخفی میشود.
3: چه خاصیت هایی از listbox وsubform و combobox وform را تنظیم کنم مثلا source control مربوط به subform را برابر با کوئری قرار میدهم در مورد سایر کنترلها چه کنم؟

simin_gh
دوشنبه 12 تیر 1385, 15:46 عصر
ظاهرا صفحه 3 پاک شده است

simin_gh
پنج شنبه 15 تیر 1385, 13:29 عصر
بابا یکی به این تاپیک نگاهی بیاندازه لطفا.چند تا از تاپیکهای من و شاپرک حذف شده است؟؟؟؟؟!!!!!

simin_gh
پنج شنبه 15 تیر 1385, 16:21 عصر
چاره ای نیست !سوالمو دوباره مطرح میکنم.ببینید در همین دیتا بیس در یک فرم کاربر اسم معلم را از کومبو انتخاب میکند و سپس در یک تکست باکس نام دانش اموز را مینویسد و روی دکمه درج کلیک میکند میخواهیم رابطه انها نیز تنظیم میشود یعنی اینکه تنظیم میشود که این دانش اموز در کلاس کدام معلم است؟

simin_gh
جمعه 16 تیر 1385, 23:18 عصر
چاره ای نیست !سوالمو دوباره مطرح میکنم.ببینید در همین دیتا بیس در یک فرم کاربر اسم معلم را از کومبو انتخاب میکند و سپس در یک تکست باکس نام دانش اموز را مینویسد و روی دکمه درج کلیک میکند میخواهیم رابطه انها نیز تنظیم میشود یعنی اینکه تنظیم میشود که این دانش اموز در کلاس کدام معلم است؟
بابا اینترنت رو زیر پا گذاشتم انگار تا حالا کسی این کارو انجام نداده!!!! امیدم به برو بچ برنامه نویسه.حد اقل بگید که روش کلی درج تو جدولایی که با هم رابطه دارند چه جوری؟؟1