ورود

نسخه کامل مشاهده نسخه کامل : ساخت پروژه مدیریت بانک



Y.a.s.h.a.r
10-06-2010, 01:51
با سلام
خوب همانطور که از موضوع تاپیک مشخص است من میخوام پروژه زیر رو بنویسم و از کمک شما دوستان استفاده کنم.
پروژه 1: مدیریت بانک

برای مدیریت مشتری ھا و حساب ھای یک بانک، نياز به یک نرم افزار به ھمراه پایگاه داده برای آن ھستيم. نرم
افزار باید شامل قسمت ھای زیر باشد:
1. فرم تعریف مشتری
2. فرم افتتاح حساب برای مشتری
3. فرم ثبت عمليات برداشت
4. فرم ثبت عمليات واریز
5. گزارش ليست مشتری ھای بانک
6. گزارش عمليات یک حساب
7. گزارش کل موجودی بانک
8. گزارش پرکارترین مشتری ھا
9. جستجوی مشتری بر اساس نام و نام خانوادگی
10 . جستجوی صاحب حساب بر اساس یک شماره حساب

برای پایگاه داده این نرم افزار از MS Access استفاده شود.


من چهار تا جدول تو اکسس ساختم
1.جدول تعریف مشتری
2.جدول افتتاح حساب که به جدول تعریف مشتری از طریق شماره حساب وصل شده
3.جدول واریز
4.جدول برداشت

آیا چهار تا جدول لازمه؟
تمامی فرم ها رو توی دلفی طراحی شده وبه اکسس وصل هستند.
چطوری باید عملیات واریز و برداشت رو به حساب مشتری وصل کنم؟
برای گزارش گرفتن عملیات یک حساب و موجودی بانک و پرکار ترین مشتری باید چیکار کنم،(گزارش گیری رو بلدم)؟

اینم فایل اکسس:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

pourya_lover
10-06-2010, 13:08
با سلام
4 تا جدول بر اساس گزارش هایی که میگیرید لازمه
ولی توی جدول واریز و برداشتم شمار ه حساب مشتری لازمه اینکه چه جوری برداشتو و واریز رو به حساب وصل کنید مشکلی نداره توی جدول حساب شما یه مبلغ حساب دارید که واریز و برداشتم رو این تاثیر دارن شما توی این دو تا فرم یعنی واریز و برداشت بر اساس فیلد مبلغ یکسری محاسبه انجام میدین بعد فیلد مبلغ جدول حساب رو update میکنید به همین سادگی برای سوال سومم که چطوری این جدولهارو به هم ربط بدین دوستان کلی آموزشهای مختلف گذاشتن از sql استفاده میکردین کارتون خیلی راحتر میشد که آموزش کامل دستورات sql رو دوستان براتون گذاشتن ولی با این حال بازم اگه بخواین بگردین هست کلی تایپیک که این مشکل شما رو حل کنه
موفق باشین

Y.a.s.h.a.r
10-06-2010, 14:16
با تشکر،الآن این ریلیشن بین جداول درسته؟

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای واریز و برداشت از دستور زیر باید استفاده کنم دیگه


ADOTable1.Insert ;

ADOTable1.FieldByName('******').Text:=DBEdit2.Text ;

ADOTable1.Post;
به جای ستاره ها فیلد مبلق جدول افتتاح حساب رو میگذارم.

pourya_lover
10-06-2010, 23:58
واسه id مشتریتم از همون شماره حساب استفاده کن کار باهاش راحتر میشه چون جستجو با عدد خیلی بهتره تا اینکه با نام و نام خانوادگی استفاده کنی الان با این ساختار تو از کجا میدونی که یه حساب مال کدام مشتریه؟پس به جای id همون شماره حساب رو بذار
در مورد کد تم من دقیق در مورد کد های adotable آشنایی زیادی ندارم ولی فکر کنم درست باشه یعنی dbeditهمون محاسیاتی توش هست که در فرم واریز انجام شده
البته بگم کد کامل نیست چون ابتدا تو باید مقدار مبلغ حساب مشتری رو با مقداری که در فرم واریز یا برداشت مینویسی یه جمع و تفریق بکنی بعد این مقدار رو در جدول حساب اینزرت کنی این کد تو فقط میاد مقدار dbedit رو وارد مقدار فیلد مبلغ جدول حساب میکنه که البته نیمدونم با این کد مقدار اون فیلد رو آپدیت میکنه یا به عنوان یه مقدار تازه وارد میکنه که بیشتر به نظر میداد به عنوان یه مقدار تازه وارد میشه چون دستور اینزرت هست نه آپدیت

Y.a.s.h.a.r
11-06-2010, 23:37
درستش اینه
هر مشتری میتونه چندین شماره حساب داشته باشه
فقط نمیدونم روابط یک به چند واریز و برداشت به حساب دسته یا نه


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


با همین کد میشه مقدار موجودی را آپدیت کرد از ظهر تا حالا گیر این سلکت بودم ولی درست نشد که نشد.یعنی درست میشد ولی با تکست چنج بود دیگه نیازی به کلیک کامند باتون نداشت.

برای عملگر های محاسباتیش موندم:24:

بعد چطوری میتونم کل موجودی بانک رو بدست بیارم؟
چطوری باید مقدار حساب ها رو با هم جمع کرد؟

pourya_lover
13-06-2010, 00:38
خوب اگه یک مشتری میتونه چندین حساب داشته باشه به نظر من بیا این کار رو بکن برای id در جدول مشتریت از شماره ملی که گذاشتی استفاده کن یعنی id رو بردار همون شماره ملی رو کلید اون جدول کن چون شماره ملی هیچکی شبیه دیگری نیست بعد در جدول حساب یه فیلد شماره ملی اضافه کن که با سرچ کد ملی بدونی کدام حساب مال کدام مشتری هستش
واسه یک به چند اون دوتا جدول هم فکر کنم درسته


با همین کد میشه مقدار موجودی را آپدیت کرد از ظهر تا حالا گیر این سلکت بودم ولی درست نشد که نشد.یعنی درست میشد ولی با تکست چنج بود دیگه نیازی به کلیک کامند باتون نداشت.

از این جملتون چیزی نفهمیدم
برای به دست آوردن موجودی بانک باید یه جدول موجودیم داشته باشی البته بهتره داشته باشی
در مورد جمع هم گفتم دستورات sql اینهارو راحت با select میتونی انجام بدی ولی من خودم اکثرا واسه این محاسبات یه edit دیگه میزارم و توی اون محاسبات رو میکنم و مقدار اون رو ذخیره میکنم ولی این edit در فرم دیده نمیشه
البته روش تو به این صورت خواهد بود واسه برداشت و واریز در یه edit شماره حساب رو میدی بعد که از این edit خارج شدی edit فلان رو مقدار حسابتو بریزه توش این همون edit مخفی هستش بعد در edit ی که مقدار واریز رو میزنی این رو بیاد با مقدار edit مخفی جمع کنه و ثبت کنه یا آپدیت کنه
روش زیاده این یکیشه حالا هر جور دوست داری

Y.a.s.h.a.r
20-02-2011, 18:45
سلام،چه زود 253 روز شد !
برنامه رو کامل کردم و تحویل دادم الآن دارم امکاناتش رو بیشتر میکنم تا برای پروژه پایان ترم هم تحویلش بدم
بعد از تکمیل کار آپلودش میکنم تا شما ها هم استفاده کنید.

یه سوال دارم
چطور میتونم چند تا جدول رو که زیر مجموعه هم هستند رو پاک کنم؟
بطور مثال مشتری یک جدول افتتاح حساب داره و در زیر مجموعه اون دو جدول واریز و برداشت وجود داره
چطور میتونم با پاک کردن جدول حساب مشتری هم زمان رکورد های جداول واریز ها و برداشت ها رو پاک کنم؟

as13851365
21-02-2011, 01:49
برای این منظور یک راهش جذف کردن تکی از جدول های مربوطه است


برای این که در دیتابیست مشکلی از لحاظ صحت اطلاعاتی نداشته باشی باید از تراکنش استفاده کنی

Y.a.s.h.a.r
21-02-2011, 19:48
برای این منظور یک راهش جذف کردن تکی از جدول های مربوطه است


برای این که در دیتابیست مشکلی از لحاظ صحت اطلاعاتی نداشته باشی باید از تراکنش استفاده کنی
توی هر فرم میشه بصورت تکی حذف کرد
من میخوام وقتی مشتری رو حذف میکنم تمام حساب هاش هم حذف بشه
یا وقتی یه شماره حساب رو حذف میکنم تمام عملیات واریز و برداشت مربوز به این حساب هم از دیتا بیس حذف بشه

ارتباط جداول به این صورته

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

اینم تصاویری از برنامه

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

در مورد این تراکنش توضیح میدین؟

as13851365
21-02-2011, 22:10
در رابطه Master-Detail شما وقتی در جدول اصلی یک رکورد اضافه میکنید و برای اون زیر مجموعه نیز اضافه میکنید نمیتونید اطلاعات جدول اصلی رو از بین ببرید.
فرض کنید جدول اصلی ما هدر فاکتور هست و جدول زیر مجموعه ریز فاکتور.
حالا مثلا برای فاکتور شماره 1 ما 10 قلم جنس ثبت کردیم. اگر بیایم فاکتور شماره 1 رو حذف کنیم ولی اقلام اون بمونه در سیستم دچار مشکل میکنه. یا نباید اجازه بدیم حذف کنه یعنی ابتدا کاربر زیر محموعه ها رو حذف کنه بعد اطلاعات جدول اصلی . یا با روشی که عرض کردم وقتی اطلاعات جدول اصلی پاک میشه تمامی جزئیات اون نیز از بین میره. یعنی به صورت واضحتر اگر بیان کنم هیچ فرزندی وجود نداره که پدرش معلوم نباشه!

کلید اصلی شما که در جدول دیگر به صورت کلید خارجی تعریف شده است گزینه cascade delete روی اون تنظیم نشده است به همین خاطر وقتی که یک رکورد رو از جدول اصلی دارید حذف میکنید که زیر مجموعه داره خطا میده.برای رفع می تونید در بخش تنظیم relationship روی فیلد مورد نظر رو انتخاب کرده و گزینه cascade delete رو انتخاب کنید.با این کار رکوردهای زیر مجموعه کلید اصلی نیز حذف میشود.فکر کنم دیگه حله


این هم یه نمونه برنامه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Y.a.s.h.a.r
22-02-2011, 12:32
آقا دستت درد نکنه
همین رو فعال کردم و درست شد

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

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

اول خواستم از رکورد نامبر سام بگیرم و مقایسه کنم ولی دیدم وقتی یه عملیات واریز یا برداشت حذف بشه درست محاسبه نمیکنه

as13851365
22-02-2011, 14:19
این آخری رو خیلی کلی گفتی


شما برای هر واریز و برداشتی یک رکورد ایجاد می کنید که تاریخ و غیره رو هم توش ثبت می کنی
حالا به راحتی می تونی بر اساس اون چیزی که می خواهی کل واریز و برداش رو در زمان مشخصی بیرون بگشی


و این که چرا باید عملیات واریز یا برداشت حذف بشه ؟

م وقتی یه عملیات واریز یا برداشت حذف بشه

Y.a.s.h.a.r
22-02-2011, 20:25
این آخری رو خیلی کلی گفتی


شما برای هر واریز و برداشتی یک رکورد ایجاد می کنید که تاریخ و غیره رو هم توش ثبت می کنی
حالا به راحتی می تونی بر اساس اون چیزی که می خواهی کل واریز و برداش رو در زمان مشخصی بیرون بگشی


و این که چرا باید عملیات واریز یا برداشت حذف بشه ؟
بر اساس چیزی نمیخوام رکورد ها رو بیرون بکشم فقط تعدادش برام مهمه که هر چی تعداد واریز به حساب و برداشت از حساب بالاتر از بقیه حساب ها باشه این حساب به عنوان فعال ترین یا پرکار ترین حساب انتخاب بشه

خوب که یادآوری کردید این آخری واقعآ چیز الکی بود حذفش کردم.