PDA

View Full Version : سوال: سوال در مورد فيلد كليد اصلي



SAt_200
سه شنبه 06 بهمن 1388, 13:56 عصر
با سلام خدمت دوستان عزيز و اساتيد گرامي
من فيلدي در يك فرم دارم به نام شماره بايگاني كه در تمام جداول پايگاه داده به عنوان كليد اصلي تعريف شده اما در يكي از جدولها قصد مشكلي كه دارم اينه كه گاهي مجبورم فيلد شماره بايگاني رو خالي رد كنم چون هنوز شماره بايگاني به مورد وارد شده داده نشده . سوال اينه كه :
چطور ميشه يك فيلدي كليد اصلي باشه اما موقع خالي رد شدن پيغام خطا نده به عبارتي چطور ميشه فيلدي تكراري بودن را خطا بده ولي خالي رد كردن را خطا نده ؟؟؟؟:متفکر:
ممنون ميشم اگه راهنمايي كنيد .

SAt_200
سه شنبه 06 بهمن 1388, 17:58 عصر
دوستان عزيز كسي نيست منو راهنمايي كنه ؟؟؟؟؟؟؟؟؟:گریه:
از اساتيد گرامي خواهشمندم يك نگاهي به اين تاپيك بياندازند ممنون ميشم مي خوام بدونم آيا اصلاً امكان چنين كاري تو اكسس وجود داره يا نه؟؟؟؟؟؟؟؟؟؟؟

nabeel
سه شنبه 06 بهمن 1388, 20:49 عصر
سلام

تنظیمات رو به صورت زیر اعمال کنید
فیلد رو از حالت Primary Key خارج کنید
گزینه Indexed رو برابر با Yes (No Duplicates) قرار بدید
گزینه Required هم بر روی No قرار داشته باشه
.....
توضیح : روش شما در نهایت میتونه منجر به ایجاد مشکل بشه
.....
ولی به نظر میاد بهتر باشه همون حالت اول رو در نظر بگیرید و شماره ای سوری در اینجور مواقعی اختصاص بدید که در هنگام نیاز و مشخص شدن , اون رو تغییر بدید

موفق باشید

SAt_200
چهارشنبه 07 بهمن 1388, 12:07 عصر
با تشكر از راهنمايي شما جناب nabeel عزيز :قلب:
راستش اين راهو قبلاً هم امتحان كرده بودم ولي جواب نداده بود گفتم شايد بشه از طريق كد نويسي چيزي براش تعريف كرد كه مشكلو حل كنه .......
بازم ممنون از اينكه وقت گذاشتيد و جواب منو داديد . اگه راه ديگه اي از كد نويسي سراغ داريد ممنون ميشم راهنماييم كنيد.......

nabeel
چهارشنبه 07 بهمن 1388, 19:14 عصر
سلام


به عبارتی چطور میشه فیلدی تکراری بودن را خطا بده ولی خالی رد کردن را خطا نده
این مورد با مفهوم فیلد کلیدی مغایرت داره
ولیکن در خصوص برنامه نویسی میتونید از موردی مشابه کد اشاره شده در این تاپیک (http://barnamenevis.org/forum/showthread.php?t=201700)استفاده کنید ( با اندکی تغییر ) البته این کد هم میتونه بخشی از مشکل شما رو حل کنه ( تکراری بودن )
مشکل خالی بودن پا برجاست , شما نمیتونید و نباید کلید اصلی رو خالی بذارید , ضمن اینکه در این حالت جداول Child دجار مشکل خواهند شد
در اون صورت دیگه مفهوم کلید بودن فیلد زیر سئوال میره
البته اگر شما با مکانیرمی همچون کد مورد اشاره فوق , عملیات Duplicate بودن رو چک کنید , بخشی از راه رو میرید ولی قادر به حل کل مشکل نیستید


راستش این راهو قبلاً هم امتحان کرده بودم ولی جواب نداده بود
پاسخ متناسب با درخواست بود و در همونجا هم اشاره به نقص شد که در همین جا هم دوباره تکرار کردم

............
در نهایت ارسال نمایی از بخش Relationships بانک اطلاعاتیتون و نوع داده های فیلد مد نظر ممکنه منجر به حصول نتیجه نهایی در خصوص فایل شما بشه , این احتمال وجود داره که با تغییر طراحی بشه راه حل جایگزینی پیدا کرد

خدانگهدار