ورود

View Full Version : ایجاد یک بانک مناسب



delphiman00
سه شنبه 15 اردیبهشت 1383, 19:10 عصر
سلام

در حال نوشتن یک برنامه کارنامه برای مدارس راهنمایی هستم مشکلی در ساختار بانک دارم ؟

برای ذخیره نمرات دروس مختلف بانکی با چند فیلد به صورت زیر تعریف کردم

1-فیلد شماره دانش آموز

2- فیلد شماره درس

3- فیلد نمره درس

حال مشکل من این است من در یک گرید چگونه می توانم ورود نمرات را به صورت چند درس نشان دهم؟ امیدوارم منظورم را رسانده باشم

اگر کسی در زمینه چنین برنامه هایی کار کرده خوشحال می شوم راهنماییم کنه !!!


این جا را هم ببینید


http://www.irandevelopers.com/forum/display_topic_threads.asp?ForumID=10&TopicID=1729&PagePosition=1&ThreadPage=1

hotice
سه شنبه 15 اردیبهشت 1383, 21:18 عصر
سلام
من درست متوجه سوالت نشدم اما فکر میکنم با دستور SQL مشکلت حل بشه
موفق باشی :)

delphiman00
چهارشنبه 16 اردیبهشت 1383, 20:13 عصر
با SQL هم مشکل حل نمیشه ببینید اگر من فرض می کردم مثلا 10 درس دارم و برای نمره هر درس در جدول یک فیلد می گذاشتم در آن صورت هر رکورد مجمعا 11 فیلد داشت یعنی یک فیلد شماره دانشجویی و 10 فیلد برای 10 تا درس حال وقتی این جدول را به یک گرید متصل می کردم در ستون اول شماره دانشجویی ها در ستون دوم درس اول در ستون سوم درس دوم و ... و من می توانستم نمرات را به صورت اصطلاحا چند درس برای هر نفر وارد کنم اما مسئله این است که تعداد درس ها ثابت نیست برای همین من جدول فقط با سه تا فیلد درست کردم : شماره دانشجویی و شماره درس و نمره درس حال اگر این جدول را به یک گرید وصل کنم نمی توانم نمرات را به صورت جدول بالا نمایش دهم و اصلاح کنم فقط می توانم با فیلتر کردن فیلد شماره درس مثلا به درس شماره یک فقط نمرات درس شماره یک را وارد کنم و این نوع وارد کردن نمره اصطلاحا به صورت تک درس است که کافی نیست و حالت چند درس نیز لازم است ؟؟؟؟؟؟؟؟؟؟
اما در هر صورت از توجه شما ممنونم

**********************
البته من فکر می کردم این مثلا واقعا مساله ساده ای باشد و کم تجربگی من باعث بروز تمام این شمکلات شده و فکر نمی کردم با تمام این همه برنامه نویسی حرفه ای در این سایت سؤالم بدون جواب باقی بماند ... شاید هم صبر من کم است
**********************

Sepidar
چهارشنبه 16 اردیبهشت 1383, 21:13 عصر
فکر کنم جداول شما از نوع Master/Detail باشد. یه نیگاه به هلپ دلفی و مثالهایش بیاندازید،‌ تا مضخص شود که اینطور هست یا نه. وقتی صورت مساله مشخص شود بهتر می توانیم در باره آن صحبت کنیم...

شکل زیر دریافت من از مساله ایست که مطرح کرده اید...

سار
پنج شنبه 17 اردیبهشت 1383, 06:21 صبح
من سوال رو گرفتم ولی راه حلی جز استفاده از گرید های پیشرفته ندارم.
یا اینکه مشخصات درس رو تو همون گرید نمایش نده.
دوتا گرید بزار.
اولی شمخصات دانش آموز و دومی مشخصات درس.
همون Master/Detail که دوستان گفتن.
ولی اگر کسی راهی داره که در یک گرید نمایش بده خیلی جالب میشه.

hotice
پنج شنبه 17 اردیبهشت 1383, 09:53 صبح
سلام
فکر میکنم بهترین راه حل همین باشه.
موفق باشی. :)

delphiman00
پنج شنبه 17 اردیبهشت 1383, 14:39 عصر
بازم سلام
جداول من Master/Detail نیستند
اصلا مشخصات دانش آموزان را نیز فراموش کنید
در جدول من اگر فیلد شماره درس را با شماره 1 فیلتر کنید مثلا درس قرآن می شود در این جدول فقط سه تا فیلد وجود دارد
به چه صورت می توان آن را در یک گرید نمایش داد طوری که انگار 10 تا فیلد در جدول است .

خدایا چه جوری سؤالم را مطرح کنم که به غیر از خودم و خدا بقیه هم مساله را بفهمند ( متوجه بشوند !!!)

بابا من در جدولم در یک ستون زیر هم نمرات تمام در ها را دارم:

**جدول شماره 1‌:

شماره دانش آموز نام درس نمره
1 قرآن 19
1 دینی 20
2 قرآن 17
2 دینی 18

والبته کلی دانش آموز و کلی درس دیگر زیر هم...

حال می خوام این جدول را به این صورت نمایش دهم

**‌ نمایش جدول شماره 1 به صورت زیر در یک گرید :

شماره دانش آموز قرآن دینی ...
1 19 20 ...
2 17 18 ...

یعنی هم نمایش دهم هم بتواتنم در این نمرات تغییر ایجاد کنم

اگر هم جدولم را به همین صورتی که می خواهم نمایش دهم طراحی نکرد علتش این است که مجبور بودم تعداد درس های ثابتی را تعریف کنم اما در جدول اصلی تعداد درس ها محدود نیست ؟

حال چرا می خواهم به صورت بالا نشان دهم زیرا اصطلاحا لیستی به نام لیست مادر است که به صورت بالا است و الزامی است

در آخر شاید اصلا جدول طراحی شده من ایراد دارد ... آنرا اصلاح کنید .

***** فقط یه همین جدول بدون هیچ رابطه دیگری فکر کنید ( جدول شماره 1 ) ****
متشکرم

hotice
پنج شنبه 17 اردیبهشت 1383, 15:41 عصر
سلام
گفتم از SQL استفاده کن از دستور Group by فکر کنم کارت رو راه بیندازه
موفق باشی :)

delphiman00
پنج شنبه 17 اردیبهشت 1383, 20:15 عصر
اگر ممکن است مثالی بزینید
البته با دستورات SQL آشنا هستم ولی در این مورد نتوانستم به نتیجه برسم

از بذل توجه شما ممنونم :flower:

سار
پنج شنبه 17 اردیبهشت 1383, 23:47 عصر
دوست عزیز من قبلا کلی با این دستورات سر و کله زدم جواب نگرفتم.
تنها کاری که تونستم بکنم همونی بود که گفتم.
یا استفاده از یک Grid عالی.
من یکی رو دیدم(Grid) که کنار هر سطر یک علامت+ بود که با کلیل روی اون ریلیشنهاش رو نشون میداد مثل گرید Accsess
ولی یادم نیسا از کجا دانلود کردم :|

vadood
جمعه 18 اردیبهشت 1383, 00:00 صبح
شما می تونی کوئری بنویسی که این خروجی را ایجاد کنه. بهش میگی Cross Tab. اما نمی تونی این جوری دیتابیس را Update کنی، مگر این که یه View درست کنی و برای Instead of Insert یه Trigger بنویسی و ...
اینها به شرطیه که دیتابیس SQL Server داشته باشی

vcldeveloper
جمعه 18 اردیبهشت 1383, 03:30 صبح
اون grid که شما گفتید کنار هر سطرش یه + میشه گذاشت grid استاندارد خود دلفیه :wink:

delphiman00
جمعه 18 اردیبهشت 1383, 09:41 صبح
در مورد دستورات SQL از دیشب تا حالا کار کردم نتیجه نگرفتم پس حق با شماست سار عزیز!

اما در مورد این گرید که گفتید نفهمیدم اگر می شود بیشتر توضیح بدهید یک DBGrid با + در کنار هر سطرش

در ضمن مدیر عزیز ! من از ACCESS استفاده می کنم ( و از این چیزهایی که گفتی تقریبا چیزی نفهمیدم مخصوصا cross tab ) :متفکر:

باز هم منتظر کمک دوستان خوبم هستم !! :?:

hotice
جمعه 18 اردیبهشت 1383, 16:07 عصر
سلام
این سوال رو توبخش SQL هم مطرح کن شاید به جواب برسی.
راستی چرا بانکت رو جدا نمی کنی که کارت راحت بشه؟
موفق باشی. :)

ali643
جمعه 18 اردیبهشت 1383, 18:04 عصر
اما در مورد این گرید که گفتید نفهمیدم اگر می شود بیشتر توضیح بدهید یک DBGrid با + در کنار هر سطرش

Exprees Quantom Gride همچین امکانی رو داره
http://img53.photobucket.com/albums/v161/Delphi_Online/Site/Quantom1.jpg
http://img53.photobucket.com/albums/v161/Delphi_Online/Site/Quantom2.jpg
البته کار کردن باهاش خیلی سخته :wink:
برای تهیه ش هم می تونی یه سری به فروشگاه برنامه نویس بزنی تو سی دی Golden Box4 هست

vadood
شنبه 19 اردیبهشت 1383, 16:46 عصر
در ضمن من از ACCESS استفاده می کنم

پس باید با همین گرید ها یا نرم افزاری کار را راه بندازی. فکر می کنم کار ساده ای نخواهد بود، شاید من به استفاده از امکانات SQL Server عادت کردم.

delphiman00
یک شنبه 20 اردیبهشت 1383, 15:31 عصر
شاید اصلا برای نوشتن یک برنامه کارنامه جدول ذخیره نمرات باید طور دیگری طراحی شود و تمام این مشکلات به خاطر طراحی بد من است
بقیه کسانی که این برنامه را نوشتند واقعا چه کار کردند
اگر ممکن است مرا راهنمایی کنید

delphiman00
یک شنبه 20 اردیبهشت 1383, 15:36 عصر
شاید اصلا برای نوشتن یک برنامه کارنامه جدول ذخیره نمرات باید طور دیگری طراحی شود و تمام این مشکلات به خاطر طراحی بد من است
بقیه کسانی که این برنامه را نوشتند واقعا چه کار کردند
اگر ممکن است مرا راهنمایی کنید