PDA

View Full Version : سوال: اساتید کمک کنن.(دیتابیس)



maryamb
دوشنبه 16 اردیبهشت 1387, 09:39 صبح
سلام بر همگی.من یه پروژه ای رو می خوام شروع کنم که در واقع اولین پروژه ی من محسوب می شه.
موضوع از این قراره که برنامه باید یه سری سند صادر کنه.برنامه مربوط به مدرسه می شه.
مشکل من اینجاست که با هر سال تحصیلی که شروع می شه و از مهر تا شهریور هست شماره سند ها باید دوباره از یک شروع بشه و سند های سال قبل باید بایگانی بشه.
نمی دونم چطور باید این کار رو بکنم.هیچ راهی هم به نظرم نمی اد.
ضمنا از accessو adodc استفاده می کنم
دوستان اگه راهنمایی کنن ممنون می شم.
فقط خواهشم اینه که من چون برنامه اولمه یه ذره تازه کارم.پس راه کارهاتون یه جوری باشه که منم متوجه بشم !!!
مرسی

mhh_etefagh
دوشنبه 16 اردیبهشت 1387, 09:50 صبح
1-مي توني براي هر سال يك جدول جديد ايجاد كني و نام جدول را به سال نسبت بدي (tbl1386_doc)
2- راه دوم اينه كه يك ستون در جدولت قرار بدي كه سال تحصيلي در آن وارد شود و كليد اصلي جدولت تركيب اين ستون و ستون شماره سند باشه....

مینا جاوید
دوشنبه 16 اردیبهشت 1387, 09:53 صبح
سلام
شما یک فیلد در نظر می گیرید به نام سال کاری.
با تغییر سال ، فیلدهایی که مثلا سال 86 هستند نمایش داده نمی شوند.
برای شماره سند هم از اتونامبر استفاده نکنید تا بتونید هر وقت خواستید شماره سند رو 1 بزنید یا حتی با تغییر فیلد سال کاری به صورت هوشمند از 1 شروع کند.

maryamb
دوشنبه 16 اردیبهشت 1387, 09:53 صبح
1-مي توني براي هر سال يك جدول جديد ايجاد كني و نام جدول را به سال نسبت بدي (tbl1386_doc)
2- راه دوم اينه كه يك ستون در جدولت قرار بدي كه سال تحصيلي در آن وارد شود و كليد اصلي جدولت تركيب اين ستون و ستون شماره سند باشه....
__________________
اونوقت چطوری از این کلید اصلی استفاده کنم؟
در ضمن راه حل اول رو متوجه نشدم.چطوری من جدول جدیدی رو ایجاد کنم؟
آخه تو کد ها ی برنامه از اسم جدول استفاده می کنم.بعد که جدول جدید ساختم اون قبلی رو چطوری اسمشو عوض کنم ؟!!!

maryamb
دوشنبه 16 اردیبهشت 1387, 09:59 صبح
سلام
شما یک فیلد در نظر می گیرید به نام سال کاری.
با تغییر سال ، فیلدهایی که مثلا سال 86 هستند نمایش داده نمی شوند.
برای شماره سند هم از اتونامبر استفاده نکنید تا بتونید هر وقت خواستید شماره سند رو 1 بزنید یا حتی با تغییر فیلد سال کاری به صورت هوشمند از 1 شروع کند.

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

مینا جاوید
دوشنبه 16 اردیبهشت 1387, 10:04 صبح
شماره سند رو ترکیبی از عدد و سال بگیرید مثلا:
1-86-87(اولین سند سال تحصیلی 86 و 87)
1-87-88(اولین سند سال تحصیلی 87 و 88)

مینا جاوید
دوشنبه 16 اردیبهشت 1387, 10:33 صبح
این لینک هم حاوی بحثی است که مرتبط با سوال شماست:

http://barnamenevis.org/forum/showthread.php?t=102011

maryamb
دوشنبه 16 اردیبهشت 1387, 10:44 صبح
شماره سند رو ترکیبی از عدد و سال بگیرید مثلا:
1-86-87(اولین سند سال تحصیلی 86 و 87)
1-87-88(اولین سند سال تحصیلی 87 و 88)
__________________

نه آخه اونجوری نمی شه
خودش قانون داره
چون مال آموزش و پرورشه باید شماره سند 1 باشه !!!
یعنی از 1 شروع بلشه

مینا جاوید
دوشنبه 16 اردیبهشت 1387, 10:49 صبح
خوب برای شماره سند از 3 فیلد استفاده کنید و در هنگام پرینت فقط فیلد حاوی 1 چاپ شود
ولی برای جستجو سال تحصیلی را هم در نظر بگیرد تا اسناد اشتباه نشود.
یک نمونه 3 فیلدی در لینک پست قبل وجود دارد.

H4i0 ACP
دوشنبه 16 اردیبهشت 1387, 11:44 صبح
اونوقت چطوری از این کلید اصلی استفاده کنم؟
در ضمن راه حل اول رو متوجه نشدم.چطوری من جدول جدیدی رو ایجاد کنم؟
آخه تو کد ها ی برنامه از اسم جدول استفاده می کنم.بعد که جدول جدید ساختم اون قبلی رو چطوری اسمشو عوض کنم ؟!!!
--------------------------------------------
با هزار روش مختلف می شه این کار رو انجام داد ولی بهتره از دستورات SQL استفاده بشه تا کار راحت تر بشه و مطمئن .

Active.PHOENiX
دوشنبه 16 اردیبهشت 1387, 12:26 عصر
سلام
سال تحصیلی 9 ماه هست,بدین معنا که سند در هر سال از 1 تا 9خواهد بود.
شما میتونی یک COLUMN تعریف کنی تا مقدار عددی بگیره.
CODE BEHIND در یک if چک کنید مقدار به 10رسیده یانه.اگر بله از 1 شروع کن. مقادیر برای DATABASE نوشته میشه.:لبخندساده:

maryamb
دوشنبه 16 اردیبهشت 1387, 14:26 عصر
سال تحصیلی 9 ماه هست,بدین معنا که سند در هر سال از 1 تا 9خواهد بود....

در هر سال تحصیلی بین 20 تا 30 تا سند داریم نه 9 تا.
ولی خب به روش خوبی اشاره کردید می شه از رو ماه ها ی سال ، سال تحصیلی رو تشخیص داد.
ولی مشکل من که بایگانی کردن بود هنوز به قوت خودش باقیه
من نمی دونم چطوری هر سال رو بایگانی کنم.
یعنی می شه با عمل فیلتر همون کار رو انجام داد؟
یعنی تو کل برنامه در یک سال خاص پایگاه داده ی من همیشه فیلتر باشه؟ که فقط اون سال رو نشون بده؟
این روش درستیه؟

کیوان معینی
دوشنبه 16 اردیبهشت 1387, 14:41 عصر
با توجه به اینکه Access در تعداد رکورد های بالا مشکل پیدا میکنه ، پیشنهاد میکنم برای هر سال یه .Mdb جدا در نظر بگیرید ، الان یه کم کارتون زیاد میشه ولی در واقع آینده رو در نظر گرفتین .

mhh_etefagh
سه شنبه 17 اردیبهشت 1387, 09:19 صبح
اونوقت چطوری از این کلید اصلی استفاده کنم؟
در ضمن راه حل اول رو متوجه نشدم.چطوری من جدول جدیدی رو ایجاد کنم؟
آخه تو کد ها ی برنامه از اسم جدول استفاده می کنم.بعد که جدول جدید ساختم اون قبلی رو چطوری اسمشو عوض کنم ؟!!!

1-مي توني اسم جداولت رو با يه متغير براي شماره سال قرار بدي و تو كد برنامه ات با اون متغير كار كني...
2- استفاده خاصي لازم نيست از كليد اصلي بكني فقط كمكت مي كنه كه داده تكراري نداشته باشي...

maryamb
سه شنبه 17 اردیبهشت 1387, 10:32 صبح
1-مي توني اسم جداولت رو با يه متغير براي شماره سال قرار بدي و تو كد برنامه ات با اون متغير كار كني...

می شه در موردش بیشتر توضیح بدی؟
با چه کدی می تونم این کار رو بکنم؟
یعنی سالی یه جدول تو پایگاه دادم اضافه می شه؟
می شه نمونه کدش رو بگی؟
:عصبانی++::متفکر: