ورود

View Full Version : کلید دو فیلدی ؟؟؟



maryamb
شنبه 22 تیر 1387, 10:39 صبح
با سلام
دیتا بیس من یکی از جدول هاش کلید دو فیلدی داره . یعنی دو تا فیلد رو با هم کلید گرفتم .ولی در این مورد تجربه ای ندارم.
حالا نمی دونم تو قسمت relation ship چجوری یکی از فیلد های کلید این جدول رو به جدول دیگه ای ربط بدم .موقعی که جدول یه فیلد کلید داشت به راحتی اون فیلد کلید رو درگ می کردم و فیلد مرتبط تو اونیکی جدولم پیوند می دادم . ولی حالا چون دو تا فیلد به عنوان کلید هست ، اررور می گیره.
ضمنا نمی دونم تو اونیکی جدول هم باید هر دوتا فیلد رو بذارم ؟ یعنی دو تا کلید خارجی داشته باشم؟
بزارین بهتر بگم : جدول های من به شرح زیر هستن :
جدول 1 :شماره فاکتور - سال مالی - تاریخ - شرح فاکتور
جدول 2 : ردیف - شماره فاکتور - کالا - مبلغ
حالا می خوام شماره فاکتور از جدول 1 به جدول 2 لینک بشه که نمی شه .
لطفا بگید چیکار کنم . خیلی عجله دارم .ممنون

مهدی قربانی
شنبه 22 تیر 1387, 11:38 صبح
ولی حالا چون دو تا فیلد به عنوان کلید هست ، اررور می گیره.

سلام
اون اروري كه دريافت مي كنيد چي هست ؟ احتمال مي دم كه خصوصيت Indexed فيلد مورد نظرتون (Yes (Duplicates Ok باشه كه اين حالت پيش اومده

maryamb
شنبه 22 تیر 1387, 12:05 عصر
نه من در مرحله ی ساخت جدول هستم .تو قسمت ریلیشن شیپ میگه نمیتونی پیوند بدی این جدول هارو شما فقط اگه یه مثال از همچین نمونه ای برام بزارین خودم بقیه مطلب رو می گیرم .مرسی
خیلی عجله دارم .

مهدی قربانی
شنبه 22 تیر 1387, 12:22 عصر
اين نمونه خدمت شما :

maryamb
شنبه 22 تیر 1387, 12:34 عصر
مرسی از پاسخ گویی سریعتون . ولی شما نمونه ی منو ببینید .
ببینید اشکالش کجاست ؟؟

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

مهدی قربانی
شنبه 22 تیر 1387, 13:54 عصر
ببینید اشکالش کجاست ؟؟
همونطور كه در پست قبلي اشاره كردم مشكل همون خصوصيت Indexed بود كه اگر اونرو Yes (Duplicates no)‌كنيد ديگه به ارتباط ايجاد شده ايراد نمي گيره .


ضمنا مگه تو جدول دوم هم باید حتما دو تا فیلد کلید جدول 1 رو داشته باشم ؟ نمی شه فقط یکیش باشه ؟
مثلا فقط شماره فاکتور باشه ؟

خير لزومي نداره هر دوتا فيلد رو در جدول داشته باشيد يكي هم كافيه .


شما که فقط یکی شو تیک زدین .
اين بستگي داره به خواسته شما اگر بخوايد مي تونيد 2 تيك بعدي رو هم فعال كنيد


البته من اصلا دقیقا نمی دونم اون تیک ها برای چی هستن .فقط می دونم برایاینکه داده ها تو تغیرات همزمان تغییر داده بشن.
خوب خودتون اشاره كرديد براي تغييرات همزمان ، بهتره اينطوري بگيم كه تيك دوم مربوط ميشه به اينكه اگر شما در جدول Master يك مقدار كليدي رو تغيير داديد تمام فيلدهاي با مقدار مشابه در جدول Detail بلافاصله تغيير مي كنند و همين طور گزينه سوم هم عملكردش اينه كه اگر در جدول Master مقدار كليديي حذف بشه بلافاصه ركوردهاي مرتبط در جدول Detail حذف خواهند شد
اينم نمونه خودتون كه ارتباطش برقرار شده .