PDA

View Full Version : ایرادهای غریب در Access و SQL-Server 2000



Developer Programmer
سه شنبه 17 آذر 1383, 19:31 عصر
لطفا به عکسها نگاه کنین و بگین این اشکالها به چی مربوط میشن

reza5
سه شنبه 17 آذر 1383, 22:06 عصر
سلام
خوب شما وقتی یک ارتباط یک به چند ایجاد می کنید و چک باکسهای سه گانه رو تیک میزنید اکسس رو ملزم میکنید که تا در جدول اول(طرف یک) رکوردی وارد نشده در جدول دوم(چند) رکوردی پذیرفته نشه مثلا تا در جدول bim برای cod of brife مقدار 1 رو وارد نکردید نمیتونید در جدول main مقدار 1 رو در فیلد cod of bim وارد کنید و کلا به ازای مقادیر موجود در فیلد codofbim میتونید در جدول main مقدار وارد کنید.

Developer Programmer
سه شنبه 17 آذر 1383, 22:11 عصر
مثلا تا در جدول bim برای cod of brife مقدار 1 رو وارد نکردید نمیتونید در جدول main مقدار 1 رو در فیلد cod of bim وارد کنید
دوست عزیز باور کنین دیگه اینقدرها هم پیاده نیستم

AminSobati
سه شنبه 17 آذر 1383, 23:30 عصر
دوست عزیزم،
در مورد مشکل اول، این لینک رو پیشنهاد میکنم ببینین:
http://www.dbforums.com/t808392.html
البته مشکلی که مطرح شده، نداشتن Parent Record هستش که نمیدونم دیتابیس شما چه وضعیتی داره. ولی از جوابتون در Post قبل میدونم این نکته رو رعایت کردین.

در مورد مشکل دوم، منطقا وقتی بیش از یک کاربر روی جدول کار میکنند این مورد پیش میاد. ضمنا برای جدول Main یک PK بسازین از دو فیلد: CodeOfBime CodeOfBazarYab
احتمال داره مشکل حل بشه. ولی این دو لینک هم در همین مورد بحث میکنند:
http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B300586

http://lists.mysql.com/myodbc/3648

Developer Programmer
چهارشنبه 18 آذر 1383, 10:44 صبح
ضمنا برای جدول Main یک PK بسازین از دو فیلد: CodeOfBime CodeOfBazarYab
احتمال داره مشکل حل بشه.
امین جان دوست عزیزم
همانطور که در شکل مشهود است کلید اصلی در جداول بیمه و بازار یاب در جدول اصلی کلید خارجی هستند

AminSobati
چهارشنبه 18 آذر 1383, 14:33 عصر
اشکالی نداره افشین جان،
این دو فیلد در عین اینکه در جدول خودشون PK هستن و برای Main نقش FK رو دارند، میتونین یک Composite PK تشکیل بدن. اگر چه فقط من در مورد شدن این کار عرض کردم شدنیه، نمیدونم آیا مشکل اصلی رو حل خواهد کرد یا نه.
مثالی که فرستادم، از جدول Northwind هستش.

hrh
سه شنبه 24 آذر 1383, 20:49 عصر
آقا افشین سواره

من اونقدر با جدول و ارتباطاتش کار کردم که دیگه دیونه شدم ولی چند تا مطلب داشتم که گفتم شاید بدردت بخوره.
1- هر چه قدر ارتباط بین جداول رو زیاد کنی و ارتباط اونها رو مقید به یکپارچگی بکنی دست خودتو بشتر بستی. چرا که در تصویری که نشون دادی خوب معلومه تا وقتی کد جدید رو در جداول BazarYab و Bime وارد نکنی نمی تونی از اون در جدول Main استفاده کنی.
2- در این برنامه اگر از برقراری ارتباط بین جداول حفظ یکپارچگی که هیچ، همین کار رو باید بکنی ولی قبل از وارد کردن اطلاعات در جدول Main بایستی کد بازاریاب یا بیمه رو در جدول مربوط به خودش وارد کنی. حالا می خواهی یه دکمه بقل گزینه مربوطه بزاری یا اینکه می خواهی برنامه مقدار وارده در فیلد مورد نظر رو چک کنه و در صورت مواجه شدن با کدی که در جدول BazarYab وجود نداره، بصورت خودکار وارد کنه خوت می‌دونی و برنامت
3- حالا اگر از برقراری ارتباط استفاده از query هستش، می تونی query ای بسازی که فقط در داخل همون کوئری، جداول با هم ارتباط داشته باشه نه جداول اصلی
4- امیدوارم که چیز بدرد بخوری به هم بافته باشم
:wink:

Developer Programmer
چهارشنبه 25 آذر 1383, 13:19 عصر
:موفق: