PDA

View Full Version : پیداکردن Relation بین دو جدول



mojtaba_z
دوشنبه 19 شهریور 1386, 17:05 عصر
سلام
2 تا جدول دارم که توی Access یا SQL Server تعریف شدن و بین اونها Relation برقرار شده .
میخوام از طریق برنامه ببینم کدام فیلد های اونها با هم ارتباط دارن ؟
من میخوام از Inner Join استفاده کنم و یه Query از ترکیبشون بگیرم و نیاز به دانستن فیلدهای مرتبط با هم هستش . البته میتونم برم از توی Access یا SQL Server و فیلدهای مرتبط رو پیدا کنم ولی میخوام از طریق دلفی فیلدهای مرتبط رو پیداکنم .

Valadi
دوشنبه 19 شهریور 1386, 21:44 عصر
در این زمینه مقاله ای هست جستجو کن البته مقاله در موردSQL و فیلدهای

mojtaba_z
سه شنبه 20 شهریور 1386, 08:47 صبح
سلام
من قبل از ارسال پست جستجو کرده بودم ولی چون شما گفتید ، دوباره با کلمات کلیدی "SQL و فیلد" جستجو کردم که تعداد 500 تا پست پیدا کرد. که خیلی زیاد بود.
اگر امکان داره در مورد اون پست که جواب سئوال من توش هست راهنمایی بیشتری بکنید .
با تشکر

Valadi
سه شنبه 20 شهریور 1386, 09:50 صبح
آقای احدی یک مثال ارتباط دو جدول دارد کلمه Relation در سایت سرچ کن

این مقاله را نگاه کن

mojtaba_z
سه شنبه 20 شهریور 1386, 11:45 صبح
سلام
کلمه Relation رو جستجو کردم و 21 مورد پیدا شد که توی هیچ کدوم از اونها نه آقای احدی پستی داشت و نه مطلبی در مورد سئوال من بود . در تاپیک زیر آقای Touska یک اشاره خیلی مختصر کردن ولی هیچ توضیحی ندادن.

دستور SQl و ارتباط دو بانک در 2 فولدر مختلف (http://barnamenevis.org/forum/showthread.php?t=25861&highlight=Relation)

mojtaba_z
سه شنبه 20 شهریور 1386, 12:12 عصر
سلام
آقای Valadi فکر کنم منظور من رو درست متوجه نشدید!
چون اون فایل SQL رو که ضمیمه کرده بودید مربوط به نحوه نوشتن دستورات SQL هستش .
من میخوام بدونم اگه بین 2 تا جدول Relation Ship برقرار شده باشه ، از توی برنامه چوری میشه این ارتباط رو پیدا کرد ؟

m-khorsandi
سه شنبه 20 شهریور 1386, 12:26 عصر
Access رو نمیدونم ولی با sp_fkeys در SQL Server میتونی ارتباطات رو پیدا کنی :


EXEC sp_fkeys @pktable_name = N'Customers'

Valadi
سه شنبه 20 شهریور 1386, 12:27 عصر
این لینک ببین
http://barnamenevis.org/forum/search.php?searchid=554806
این هم لینک برنامه آقای احدی
http://barnamenevis.org/forum/showthread.php?p=264025&highlight=Relationship#post264025

mojtaba_z
سه شنبه 20 شهریور 1386, 14:09 عصر
سلام
آقای Valadi گرامی
1- لینک اول میگه که هیچ موردی پیدا نشد !!
2- لینک دوم رو هم قبلا توی اون جستجوی 21 موردی دیده بودم و اجرا کردم که ایراد میگرفت . به خاطر کامپوننت های استفاده شده توی اون از جمله TXpManifest .
3- توی این مثال آقای احدی ، هیچ کدی در مورد پیدا کردن Relation Ship بین جداول وجود نداره.
4- من از Delphi 6 استفاده میکنم .
5- من نمیدونستم آقای احدی همون babak869 هستن .

Valadi
سه شنبه 20 شهریور 1386, 16:45 عصر
با سلام
ببخشید
1 - من سرچ کرده بودم لینک سرچ قرار داده بودم و شما این کلمه Relation را سرچ کن شاید بدرد بخوره
2 - شما در قسمت Use و TXpManifest حذف کنید و برنامه را دوباره اجرا کنید

3 - سورس برنامه هایی که در سایت برنامه نویس هست حدود 90 درصد برای دلفی 7 است و چرا شما از دلفی 6 استفاده می کنید ؟

mojtaba_z
چهارشنبه 21 شهریور 1386, 08:30 صبح
سلام
آقای Valadi ، من با حذف کامپوننت گفته شده برنامه رو اجرا کردم .
برنامه اجرا شد و بین دو تا جدول بصورت ویزارد ارتباط برقرار شد . ولی همون طوری که گفتم توی این مثال آقای احدی ، هیچ کدی در مورد پیدا کردن Relation Ship بین جداول وجود نداره.
آقای m-khorsandi منظور من رو دقیقا متوجه شدن و راهکارشون برای دیتابیس SQL Server به نتیجه رسید . ولی برای دیتابیس Access راهی اینچنینی وجود داره ؟ یا اصولا برای این کار راهی دیگری هست ؟

m-khorsandi
چهارشنبه 21 شهریور 1386, 09:42 صبح
جداول سیستمی تو Access با چهار حرف MSys شروع می‌شوند، جدولی که مجتبی لازم داره احتمالاً باید جدول MSysRelationships باشه. ولی برای مشاهده‌ی سایر جداول سیستمی هم میتونی از منوی Tools -> Options و صفحه‌ی View، گزینه‌ی System Objects رو انتخاب کنی.