PDA

View Full Version : یک راهنمایی نیاز دارم برای زمانی که کابر بخواهد فیلدها را اختیاری پر کند!



alih988
شنبه 22 دی 1386, 23:38 عصر
به نام خدا
سلام و عرض ادب
من یک برنامه کتابخانه دارم تهیه می کنم ، اطلاعاتی مانند ناشر و نویسنده و مترجم برای خودشان جدول مستقلی دارند و با یک ارتباط یک به چند به جدول اصلی متصل شده اند !
ثبت اطلاعات در زمانی که کاربر اطلاعات را کامل وارد کند به راحتی صورت می گیرد ، اما زمانی که یکی از فیلد (مثلا نام نویسنده که خود یک جدول مستقل دارد ) خالی باشد نمی توان داده ها را ثبت کرد !
البته یک راه به ذهنم رسید ، و آن استفاده از یک سطر خالی در همه ی جدول ها است و اختصاص یک کد خاص به آن ! ولی احتمالا باید راه بهتری وجو داشته باشد!

در ضمن یک کمک دیگر هم لازم دارد ، من در یکی از جدول ها از فیلد autoNumber استفاده کردم ، ولی با اینکه کل جدول را پاک می کنم ، باز به همان عدد قبلی یک واحد اضافه می کند ، در این مورد هم لطف کنید راهنمایی بفرمایید!
خدا خیرتان بدهد انشالله!

top7news
یک شنبه 23 دی 1386, 01:07 صبح
سلام
در مورد سئوال اولت
خوب اون فیلدی که میگی
تو جدول خودش کلید اصلیه واسه همن و چون با جدولای دیگه در ارتباطه
پس نمیتونی خالی بذاریش
چون کلید اصلی هم خالی نمی تونه باشه (Allow nul) نیست


بهتره یه بازبینی تو ارتباطای بانکت بکنی
البته من با توجه به بانک SQL Server گفتم ها

alih988
یک شنبه 23 دی 1386, 10:06 صبح
خب... یه راه حلی چیزی !
اگه لازم باشه ساختار بانک رو عوض کنم راهنمایی کنید چه کار کنم که بشه فیلدها را انتخابی طرف پر کنه!

maryam_vb
یک شنبه 23 دی 1386, 10:56 صبح
با سلام

1-به نظر من شما برای ناشر و نویسنده و مترجم فیلدی با عنوان کد داشته باشید و از طریق این کد رابطه بین جدولاتون رو برقرار کنید .کد ناشر - کد نویسنده - کد مترجم

2-فیلد autonumber برایrelation و عدم بروز رکورد تکراری در بانک تعریف میشه و برای همون مشکل شما بدیهیه.(البته به نظر من)

saman_itc
یک شنبه 23 دی 1386, 11:36 صبح
سلام دوست عزیز
جواب سوال اول تون اساتید دادن
سوال دوم
شما وقتی می خوایید فیلد autonumber شه باید rename کنید و اسمشم تغییر بدید seve و type رو هم بکنی مثلا txt کنید .و دوباره تغییرات مثل اولش بکنی با این کار autonumber میشه 0 و دیگه لازم نیست جدولتو پاک کنی

alih988
یک شنبه 23 دی 1386, 13:43 عصر
با سلام

1-به نظر من شما برای ناشر و نویسنده و مترجم فیلدی با عنوان کد داشته باشید و از طریق این کد رابطه بین جدولاتون رو برقرار کنید .کد ناشر - کد نویسنده - کد مترجم

2-فیلد autonumber برایrelation و عدم بروز رکورد تکراری در بانک تعریف میشه و برای همون مشکل شما بدیهیه.(البته به نظر من)

من هم همین کار را انجام دادم ، در واقع میشه گفت کار دیگه ای نمیشه کرد ، مثلا یک جدول به عنوان ناشر دارم ، که خودش مشخصات ناشر را داره ، و یک فیلد به نام کد ناشر داره که کلید اصلی هستش!

ولی در واقع مشکل رو به طریقی حل کردم!

من در هر جدول یک رکورد با محتویات فیلد " - " ایجاد کردم که مثلا خالی است ، و کدی هم برایش تعریف می شود قاعدتا. در زمان ثبت اطلاعات هم هیچ کدام از فیلدها خالی نمی ماند ، و اگر کاربر کادر را خالی کند ، خودش اتوماتیک " - " را ایجاد می کند !
در واقع هر فیلدی که مقدار بالا را داشته باشد میشه گفت خالی است و کاربر می تواند آن را پر نکند!
فعلا که مشکلم حل شد ، به نظر شما هنگام ویرایش داده ها به مشکل برنخواهم خورد؟

saman_itc
یک شنبه 23 دی 1386, 16:13 عصر
شما اگه بانکتون اکسس میتونید مقدار اولیه برای فیلداتون بزارید .مثال Alt بگیرید و 255 وارد کنید چون اسپیس قبول نمیکنه

sinpin
یک شنبه 23 دی 1386, 16:58 عصر
در ضمن یک کمک دیگر هم لازم دارد ، من در یکی از جدول ها از فیلد autoNumber استفاده کردم ، ولی با اینکه کل جدول را پاک می کنم ، باز به همان عدد قبلی یک واحد اضافه می کند ، در این مورد هم لطف کنید راهنمایی بفرمایید!
خدا خیرتان بدهد انشالله!
به این لینک مراجعه کنید (پست شماره 6):
http://barnamenevis.org/forum/showthread.php?t=82242&highlight=reset+autonumber