نمایش نتایج 1 تا 39 از 39

نام تاپیک: ورود اطلاعات جدید جهت ثبت مقدارها در داروخانه که تاریخ ها با هم همخوانی ندارد

  1. #1

    ورود اطلاعات جدید جهت ثبت مقدارها در داروخانه که تاریخ ها با هم همخوانی ندارد

    با سلام .
    راستش من یه جدول دارم که مقدار های رو در و ثبت میکنم و کد کالا دارم و اطلاعات رو توش ثبت میکنم و مثلا فیلد هام کد کالا . نام و تاریخ ورود . حالا یک ماه گدشته دوباره همون کالا رو دوباره خریدیم میخایم ثبت کنیم همون کد رو بهش میدم که واسه همین دارو ثبت کرده بودیم . حالا 10 از اون دارو ها مونده بود تو جدولمون 100 تا هم خریدیم میخایم اضافه کنیم. حالا 10 تای قبلی واسه تاریخ 1 ماه قبل هست اما این 100 تا واسه الانه ما اگه ویرایش کنیم تاریخ رو 10 تا به تاریخ الان ثبت میشه یعنی 110 تا در این تاریخ داریم.؟!!! من نمیدونم باید ثبت کنم یا ویرایش . ویرایش که این مشکل رو داره ثبت هم که یه دارو با دو تا کد باید باشه !!!! کدمون pk هست . ممنون میشم راهنمایی کنید

  2. #2
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    من هم همین مشکل رو دارم

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    fekrenaw.com
    پست
    152

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    سلام
    طبیعی است که طراحی جدول ایراد دارد؛ کد کالا را که نمی توان PK جدول گذاشت (مخصوصا اگر Identity باشد). باید یک فیلد دیگر برای کد کالا در نظر بگیرید

  4. #4

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    میشه بیشتر توضیح بدی دوست عزیز ؟

  5. #5

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    شما منظورت اینهکه ما یک سطر id داشته باشیم که pk باشه حالا autonumber باشه یا نباشه مهم نیست . اینجوری ما 10 تا ردیف داریم که 3 تاش کد کالایی به شمار 1850 نام دارو استامیفون و تاریخ ورود کالا و تاریخ انقضا ثبت شده .
    مثلا؟
    id codekala name datenew dateengheza
    20/2/90 14/2/90 استا 1850 1
    17/3/90 23/2/90 استا 1850 2
    20/5/90 1/4/90 استا 1850 3
    و .....
    حالا ما بخایم اینجوری ثبت کنیم id ما pk میشه و کد کالا pk نیست .!!
    اینجوری میتونیم چندین تا ثبت کنیم. ایا بهینه هست اینکاری که میکنیم تو بانک ؟ اصلا روش درستی هست؟

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    fekrenaw.com
    پست
    152

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    سلام
    خیر، این کار طبق قاعده سوم قواعد نرمال سازی بهینه نیست. به نظرم بهتر است عناوین (نام) داروها در یک جدول باشد و آیتم هایی که بعدا به فروشگاه اضافه میشند در یک جدول دیگر و ارتباط یک به چند میانشان ایجاد بشه. در این صورت البته میشه همان PK را کد کالا در نظر گرفت

  7. #7
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    بازم فرقی نمی کنه
    فرض کن ما توی یک جدول دیگه 10 تا آموکسی سیلین داریم که تاریخ انقضاش یک ماهه دیگست
    امروز 100 تا دیگه وارد انبار می کنیم که تاریخ انقضاشون یکسال دیگست ( این ها را چه کار میشه کرد ؟ )

  8. #8
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط RIG000 مشاهده تاپیک
    شما منظورت اینهکه ما یک سطر id داشته باشیم که pk باشه حالا autonumber باشه یا نباشه مهم نیست . اینجوری ما 10 تا ردیف داریم که 3 تاش کد کالایی به شمار 1850 نام دارو استامیفون و تاریخ ورود کالا و تاریخ انقضا ثبت شده .
    مثلا؟
    id codekala name datenew dateengheza
    20/2/90 14/2/90 استا 1850 1
    17/3/90 23/2/90 استا 1850 2
    20/5/90 1/4/90 استا 1850 3
    و .....
    حالا ما بخایم اینجوری ثبت کنیم id ما pk میشه و کد کالا pk نیست .!!
    اینجوری میتونیم چندین تا ثبت کنیم. ایا بهینه هست اینکاری که میکنیم تو بانک ؟ اصلا روش درستی هست؟
    روش درستش همینه که نوشتی. باید بتونی n تا ثبت کنی.
    اینجوری شما یه گزارش درست حسابی می تونی از انبارت داشته باشی که کدوم داروهات کی وارد شدند، با چه قیمتی، از کدوم شرکت ....
    موجودی هم بخوای بگیری یه جمع رو ستونت می زنی

    یک جدول مشخصات دارو داشته باش، یه جدول انبار، یه جدول فروش ...
    کلا وقتی می خوای جدول درست کنی هرچیزی رو سرجای خودش بذار!

  9. #9
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط wolf_majid مشاهده تاپیک
    بازم فرقی نمی کنه
    فرض کن ما توی یک جدول دیگه 10 تا آموکسی سیلین داریم که تاریخ انقضاش یک ماهه دیگست
    امروز 100 تا دیگه وارد انبار می کنیم که تاریخ انقضاشون یکسال دیگست ( این ها را چه کار میشه کرد ؟ )
    سیستم می تونه یه اخطار بده که تعداد n تا از این دارو تاریخ گذشته است (وقتی سیستم لود میشه، وقتی که دارو فروش میره ....)
    ما بقیش با نسخه پیچ که تاریخ انقضا رو نگاه کنه

  10. #10
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    fekrenaw.com
    پست
    152

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط wolf_majid مشاهده تاپیک
    بازم فرقی نمی کنه
    فرض کن ما توی یک جدول دیگه 10 تا آموکسی سیلین داریم که تاریخ انقضاش یک ماهه دیگست
    امروز 100 تا دیگه وارد انبار می کنیم که تاریخ انقضاشون یکسال دیگست ( این ها را چه کار میشه کرد ؟ )
    خوب معلومه دیگه؛ اینا رو تو جدول دوم ثبت می کنی. جدول اول فقط نام (نوع) کالا را نگه می دارد. اما هر بار که اجناس جدید می رسد باید جدا گانه وارد برنامه بشه

  11. #11
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    سیستم می تونه یه اخطار بده که تعداد n تا از این دارو تاریخ گذشته است (وقتی سیستم لود میشه، وقتی که دارو فروش میره ....)
    ما بقیش با نسخه پیچ که تاریخ انقضا رو نگاه کنه
    متوجه منظور من نشدید
    ببینید ما توی انبار 10 تا آسپرین با تاریخ انقضای سال دیگه , 100 تا دیگه با تاریخ انقضای 2 سال دیگه داریم
    موضوع اخطار نیست
    موضوع اینه که ما نمی دونیم داروی با کدوم تاریخ انقضا داره فروش می ره
    اگر کالا ها یک کد داشته باشند موقع ورود داروی جدید تاریخ انقضای قبلی از بین میره
    و ... که حالا یادم نیست

    خوب معلومه دیگه؛ اینا رو تو جدول دوم ثبت می کنی. جدول اول فقط نام (نوع) کالا را نگه می دارد. اما هر بار که اجناس جدید می رسد باید جدا گانه وارد برنامه بشه
    نام کالا را توی یک جدول دیگه ثبت کنیم تاریخ انقضا را چکار کنیم ؟
    آخرین ویرایش به وسیله wolf_majid : چهارشنبه 04 آبان 1390 در 19:04 عصر دلیل: نقل قول کردن

  12. #12

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    دوست عزیز wolf هم میدونه الان چقدر من گیج این موضوع شدم. دقیقا" چیزی رو میگه که منم باهاش هم عقیدم. کلا مشکلاتمون یکیه . اگه بشه از دوستان یه نمونه بذاره واسه این بخش از سوالاته ما که بدونیم کار درست چیه.
    الان ما باید چه جوری ریلشن ها شو در بیاریم؟ من گیر ریلیشن هامونه. یعنی نمی تونم که چه جوری این دو جدولی که نقل قول ردین که درسته . همونی که مثال زده بودم . باه هم ریلشن بشن. میشه این دو جدول هارو با جدول فروش و یا هر جدول جدیدی که مربوط به این دو جدول هست رو نمونه بدید با ریلشن هاش . اگه میشه از کمکتون خوداری نکید که شدیدا" درگیرشم. ممنونم

  13. #13

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    جدول اسم دارو شامل نام و کد داردو است که ری لیشن میخوره به جدول دوم ما که بعدن اطلاعاتی چون تاریخ ورود . تار یخ انقضا و قیمت و ... رو وارد کردیم . در جدول اولی کد کالا pk هست کلید اصلی و در جدول دوم هم ما fildi همچون کد کالا داریم که pk نیست . اما باز ما رو ثبت قیمت و تاریخ انقضا مشکل داریم .؟!!!! شما میگین ثبت جدید در جدول دوم صورت بگیره یعنی این fild ها در جدول دوم به کار بره اما باز ما چه شکلی بدونیم موقع فروش مثلا استامینفون رو انتخاب کنیم از کجا بدونیم کدوم دارو رو و باه چه قیمتی میفروشیم چون استامینفون با قیمت های مختلف در بازه های زمانی مختلف ثبت شده!! حالا چیکار کنیم. اقای wolf هم اینو اشاره کردن.

  14. #14
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    برای حفظ یکپارچگی داده ها، هرچیزی رو میذاریم سرجاش!

    جدول دارو : کد دارو، نام دارو، قیمت پایه
    جدول انبار: کد انبار، کد دارو، تاریخ ورود، شماره فاکتور، تعداد، قیمت خرید، تاریخ انقضا، کد شرکت
    جدول شرکت: کد شرکت، نام شرکت
    جدول فروش: کد کاربر، کد دارو، تعداد، قیمت فروش رفته
    جدول کاربر: کد کاربر، نام کاربری، کلمه عبور، نام، نام خانوادگی ...

    اگه یک جدول استفاده کنی:
    اسم یه دارو رو اشتباه زده باشی باید توی کل جدولت بگردی n تا رو تغییر بدی
    ممکن موقع ورود، اسم یه دارو رو دو جور مختلف بزنی
    موقع نمایش داروهات باید کل جدولت رو با حذف نام های تکراری انتخاب کنی و ...

    حالا شما میخوای دارو بفروشی:
    از لیست داروها، دارو انتخاب میشه و قیمت پیش فرضش به کاربرت نمایش داده میشه. قیمت داروت ممکنه طی سال تغییر کنه که شما هم این قیمت پیش فرض رو با هر تغییری عوض می کنی (مدیر سیستم انجام میده)
    من توی اینجور موارد دست کاربر رو باز میذارم. یعنی قیمت پایه رو نشونش میدم اگه نخواست موقع فروش قیمت رو عوض می کنه (اینجا توی جدول دارو قیمت پایه عوض نمیشه) . فروش رو تایید میکنه
    داده ها توی جدول فروش ذخیره میشه ( با اون قیمت پیش فرض یا اونی که کاربر فروشنده)

    اینجوری شما هم قیمت خریدت رو داری و هم قیمت فروشت رو.
    شما میگی استامینوفن رو 1000 خریدی 6 ماه بعد خریدی 1200 حالا توی انبارت هم قدیم داری هم جدید. شما استامینوفنت رو باید به قیمت روز بفروشی یعنی قیمت پیش فرضت رو می کنی مثلا 1400 ، نه اینکه اونی که قدیم خریدی ارزونتر بدی و اونی که گرونتر خریدی رو بیشتر بفروشی. تورم دیگه.

    موفق باشی

  15. #15
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    سلام
    بحث سر قیمت نیست دوست عزیز
    سره تاریخ داروهاست

  16. #16

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    جدول انبار: کد انبار، کد دارو، تاریخ ورود، شماره فاکتور، تعداد، قیمت  خرید، تاریخ انقضا، کد شرکت

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

  17. #17
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    سلام دوستان
    ببینید زمانی که میخواهیم کالا بفروشیم باید Select کنیم از دیتابیس.ما میتونیم دوتا PK داشته باشیم یکی کدکالا و دیگری تاریخ انقضا.
    وقتی به عنوان مثال میخواهیم اسپرین بفروشیم دوتا رکورد واسه ما برمیگردونه یکی با تاریخ انقضا جدید یکی هم باتاریخ انقضا قدیم.
    بعدش انتخاب میکنیم که از کدوم اسپرین میخواهیم بفروشیم(جدید یا قدیم)
    درمورد وارد کردن کالا به انبار هم مشکلی به وجود نمیاد. اول یه Select میزنیم به دیتابیس اگه رکوردی وجود داشت که اونو Update میکنه واسه Update هم در قسمت where دوتا شرط میزاریم یکی کدکالا یکی هم تاریخ انقضا
    تا مشکلی دیگه به وجود نیاد.اگر هم وجود نداشت insert میکنه

  18. #18

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط sobaisobai مشاهده تاپیک
    سلام دوستان
    ببینید زمانی که میخواهیم کالا بفروشیم باید Select کنیم از دیتابیس.ما میتونیم دوتا PK داشته باشیم یکی کدکالا و دیگری تاریخ انقضا.
    وقتی به عنوان مثال میخواهیم اسپرین بفروشیم دوتا رکورد واسه ما برمیگردونه یکی با تاریخ انقضا جدید یکی هم باتاریخ انقضا قدیم.
    بعدش انتخاب میکنیم که از کدوم اسپرین میخواهیم بفروشیم(جدید یا قدیم)
    درمورد وارد کردن کالا به انبار هم مشکلی به وجود نمیاد. اول یه Select میزنیم به دیتابیس اگه رکوردی وجود داشت که اونو Update میکنه واسه Update هم در قسمت where دوتا شرط میزاریم یکی کدکالا یکی هم تاریخ انقضا
    تا مشکلی دیگه به وجود نیاد.اگر هم وجود نداشت insert میکنه
    حالا ما اینکار میکنم . یکسری سوالات واسه نوشتن برنامه این تحلیل . اگه مابخایم از 100 تا اسپرینی که داریم 10 تا بفروشیم ؟! باید تو جدول انبار ما بمونه 90 . تعداد فروخته شده رو از موجودی کم میکنیم . اینجا بین دو جدول ها ریلشن میخوره . فبین کد دارو ها . حالا ما اگه 10 تا فروختم باید تو جدولمون 90 تا موجودی بمونه چه شکلی اینکارو کنیم؟ نحوه ریلیشن زدن بین دو جدول چه جوری میشه ؟ منظورم اینکه updating , deleting که تو موقع ریلیشن زدن هم باید فعال کنیم و بعدش با چه کدی بین این دوتا جدول این عملیات رو انجام بدیم ؟ یعنی کوئری ما چه شکلی میشه ؟ حالا کلا یه سوال دیگه اگه جنسی رو فروخته باشیم و بعدش شخص مورد نظر بیاد پس بده دارو رو تو فاکتور فروش باید بریم حذف کنیم افون رکورد ثبت شده رو ؟ بعدش موجودی که کم شده چه جوری بر گردونده میشه اونم باید دستی بریم دو باره اپدیت کنم و مقدار تعداد رو تغییر بدیم؟

  19. #19

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

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

  20. #20
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط RIG000 مشاهده تاپیک
    جدول انبار: کد انبار، کد دارو، تاریخ ورود، شماره فاکتور، تعداد، قیمت  خرید، تاریخ انقضا، کد شرکت

    در مورد تاریخ باید چیکار کنم ؟ سوالات ؟ 1 - اگه داروی جدید بیاد و بخایم ثبتش کنیم یک رکود جدبد ثبت میشه یا رو قبلی ویرایش میشه؟ اگه ویرایش بشه باید تاریخ ها هم عوض شه که این باعث میشه تاریخ ورود خروج قبلی ازبین بره . عملا ویرایش اشتباه هست . اگه ثبت مجدد بشه یعنی یه رکود دیگه بزنیم از یک داروی یکسان ما واسه یک دارو دو تاریخ ورود و تاریخ انقضا جداگانه داریم . حالا موقعی که میفروشیم از کجا بدونیم چی میفروشیم؟ و یا کدوم هارو میفروشیم؟
    در اینجا شما مشکل قیمت رو حل کردی جدول دارو : کد دارو، نام دارو، قیمت پایه
    اما تاریخ رو نمیشه اینجا حل کرد . ایا دیگه از دست بانک ما خارج میشه انجام این عملیات ؟ یعنی باید با برنامه نویسی پوشش داده بشه ؟ هر چند که من راه حل مناسبی هم با برنامه نویسی براش پیدا نکردم!!!!!!! باید چیکار کنیم؟
    ببین عزیز دل اینجا شما یه چیز رو داری فراموش می کنی! اونم اینه که شما باید بتونی حداقل یه گزارش از ورود و خروج داروهات داشته باشی. بنابراین جواب سوال اولت اینه که توی جدول انبار یه رکورد جدید ثبت میشه! به همون دلایل مفیدی که توی پست 14 گذاشتم. هر تعداد دارو توی روز وارد بشه باید توی انبارت ثبت بشه. حالا 1 باشه یا 1000. ممکنه یک نوع دارو از 3 شرکت مختلف آورده بشه . به خاطر اینه که گزارش ورود داروت لازمه. پس ویرایش کردنت اشتباهه محضه

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

    می تونی یه پیغام بدی که فلان داروها تاریخ انقضاشون گذشته. حالا اینجا دیگه مسئول داروخانه باید بره اون داروها رو جدا کنه. نه برنامه شما

    به نظر من شما اصلا نیازی نداری که بدونی کدوم دسته از داروهات رو (با توجه به تاریخ ورودش، مثلا استامینوفن ها) می فروشی.
    حالا اگه این واسه ات واجب هست می تونی از کد انبار جدول انبار توی جدول فروشت هم استفاده کنی
    یعنی جدول فروش:
    کد کاربر، کد دارو، تعداد، قیمت فروش رفته، کد انبار


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

    پس جدول داروت رو اینجوری تغییر بده:
    جدول دارو : کد دارو، نام دارو، قیمت پایه، تعداد کل

    حالا وقتی چیزی وارد انبارت شد، این فیلد رو به اضافه ورودی کن
    موقعی که فروختی این فیلد رو از خروجیت کسر کن

  21. #21
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    ببین عزیز دل اینجا شما یه چیز رو داری فراموش می کنی! اونم اینه که شما باید بتونی حداقل یه گزارش از ورود و خروج داروهات داشته باشی. بنابراین جواب سوال اولت اینه که توی جدول انبار یه رکورد جدید ثبت میشه! به همون دلایل مفیدی که توی پست 14 گذاشتم. هر تعداد دارو توی روز وارد بشه باید توی انبارت ثبت بشه. حالا 1 باشه یا 1000. ممکنه یک نوع دارو از 3 شرکت مختلف آورده بشه . به خاطر اینه که گزارش ورود داروت لازمه. پس ویرایش کردنت اشتباهه محضه
    فعلا" که برنامه من دم دست نیست که تست کنم
    اما اینطور که من فهمیدم باید دو جدول داشته باشیم که یکی شامل فیلدهای اساسی دارو ( مثل کد , نام و ... به جز تاریخ انقضا و قیمت خرید ) است
    و دیگری شامل کد و قیمت خرید و تاریخ انقضاست و تعداد در انبار ( فکر می کنم نیازی هم به کلید نداشته باشه توی این جدول )
    هر بار که دارویی وارد انبار میشه به جز فاکتور خرید و موجودی انبار جدول دوم نام دارو هم سطر جدیدی بهش اضافه می شه

    بعدش ببین همه چیز رو نمیشه توی برنامه ات حل کنی. شما توی برنامه تا جایی که بتونی میخوای از خطا کردن کاربر جلوگیری کنی. حالا فرض کن مشکل تاریخ رو نرم افزاری حل کنی. نسخه رو کی می پیچه؟ برنامه یا نسخه پیچ؟ نسخه پیچ اگه بخواد می تونه یه چیز خلاف منطق ما و برنامه پیش ببره. شما میگی این دارو تاریخش گذشته ولی اون حال می کنه اون رو میده مریض.
    این کاری که شما می گی به داروخانه هم بستگی داره
    طرف باید داروها یک نوع رو با هم قاطی نکنه! اونایی که مال یک تاریخ هست کنار هم باشه. با برنامه که نمی تونی داروها رو انهدام کنی. پس با توجه به امکاناتت برنامه ات رو پیش ببر.
    قبلا" در این مورد از استاد حسابداری دانشگاهمون پرسیده بودم
    طبق گفته ایشون : (پروژه من در مورد حسابداری است و شامل انبار داروخانه و انبار فروشگاه مواد غذایی و ... میشه) " مواد تاریخ انقضا گذشته یا از جدول حذف شده و به کاربر سیستم اطلاع داده میشود و یا طبق نظر کاربر برگشت از خرید میشوند " ایشون می گفتند " باید ببینی کاربر چگونه عمل می کنه در مورد این مواد "

    به نظر من شما اصلا نیازی نداری که بدونی کدوم دسته از داروهات رو (با توجه به تاریخ ورودش، مثلا استامینوفن ها) می فروشی.
    حالا اگه این واسه ات واجب هست می تونی از کد انبار جدول انبار توی جدول فروشت هم استفاده کنی
    یعنی جدول فروش:
    کد کاربر، کد دارو، تعداد، قیمت فروش رفته، کد انبار
    چرا مهمه
    اما به نظر من شاید بشه کاربر موقع انتخاب کد کالا (دارو) تمامی داروهایی که در جدول دوم موجودی آنها صفر نیست را نشون بده که بین اونها فروشش رو انتخاب کنه


    جناب RIGOOO این موارد را تست کنید اگر به نتیجه رسیدید لطفا" بهم اطلاع بدید تا من هم پروژم رو پیدا کنم و تغییرات رو اعمال کنم

  22. #22
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط RIG000 مشاهده تاپیک
    حالا ما اینکار میکنم . یکسری سوالات واسه نوشتن برنامه این تحلیل . اگه مابخایم از 100 تا اسپرینی که داریم 10 تا بفروشیم ؟! باید تو جدول انبار ما بمونه 90 . تعداد فروخته شده رو از موجودی کم میکنیم . اینجا بین دو جدول ها ریلشن میخوره . فبین کد دارو ها . حالا ما اگه 10 تا فروختم باید تو جدولمون 90 تا موجودی بمونه چه شکلی اینکارو کنیم؟ نحوه ریلیشن زدن بین دو جدول چه جوری میشه ؟ منظورم اینکه updating , deleting که تو موقع ریلیشن زدن هم باید فعال کنیم و بعدش با چه کدی بین این دوتا جدول این عملیات رو انجام بدیم ؟ یعنی کوئری ما چه شکلی میشه ؟ حالا کلا یه سوال دیگه اگه جنسی رو فروخته باشیم و بعدش شخص مورد نظر بیاد پس بده دارو رو تو فاکتور فروش باید بریم حذف کنیم افون رکورد ثبت شده رو ؟ بعدش موجودی که کم شده چه جوری بر گردونده میشه اونم باید دستی بریم دو باره اپدیت کنم و مقدار تعداد رو تغییر بدیم؟
    سلام مجدد
    اینجا بحث نرمال سازی دیتابیس میاد وسط که مشکل حل میشه
    فکر نکنم دیگه مشکلی باشه
    دوستمون wolf_majid توضیحات لازم رو داد.

  23. #23

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    سلام دوباره. دوست عزیز wolf راسش من دارم تحلیل مهندسی رو انجام میدم هنوز به برنامه دستی نزدم یعنی استارت نخورده میخام پایگاه رو به مد 3nf برسونم بعد شروع به برنامه نویسیش کنم. من همیشه اول برنامه رو کار میکردم اما الان بانک رو کار میکنم بعد برنامه رو . من نمونه ای از کاری که باید انجام شه زدم و ضمیمه میکنم . لطفا" دوستان بیان تصحیحش کنن. ممنون میشم. در ضمن من relational رو بهش زدم . ببینید مشکلات relation کجاست. ممنون
    فایل های ضمیمه فایل های ضمیمه

  24. #24
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    متاسفانه با دیتابیس اکسس کار نکردم
    اون موارد بالا رو هم تست می کنم بهتون اطلاع می دم
    ولی یک مقدار طول می کشه ها

  25. #25
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط wolf_majid مشاهده تاپیک
    فعلا" که برنامه من دم دست نیست که تست کنم
    اما اینطور که من فهمیدم باید دو جدول داشته باشیم که یکی شامل فیلدهای اساسی دارو ( مثل کد , نام و ... به جز تاریخ انقضا و قیمت خرید ) است
    و دیگری شامل کد و قیمت خرید و تاریخ انقضاست و تعداد در انبار ( فکر می کنم نیازی هم به کلید نداشته باشه توی این جدول )
    هر بار که دارویی وارد انبار میشه به جز فاکتور خرید و موجودی انبار جدول دوم نام دارو هم سطر جدیدی بهش اضافه می شه


    قبلا" در این مورد از استاد حسابداری دانشگاهمون پرسیده بودم
    طبق گفته ایشون : (پروژه من در مورد حسابداری است و شامل انبار داروخانه و انبار فروشگاه مواد غذایی و ... میشه) " مواد تاریخ انقضا گذشته یا از جدول حذف شده و به کاربر سیستم اطلاع داده میشود و یا طبق نظر کاربر برگشت از خرید میشوند " ایشون می گفتند " باید ببینی کاربر چگونه عمل می کنه در مورد این مواد "


    چرا مهمه
    اما به نظر من شاید بشه کاربر موقع انتخاب کد کالا (دارو) تمامی داروهایی که در جدول دوم موجودی آنها صفر نیست را نشون بده که بین اونها فروشش رو انتخاب کنه


    برای جدول انبار شما نیاز به کلید داری به خاطر اینکه راحت بتونی یه سطر رو پیدا کنی (ویرایش، حذف)

    توی جدول دارو فقط یکبار اسم دارو ثبت میشه

    موجودی دارو توی جدول دارو نگه داشته میشه که دیگه نخوایم محاسبه رو با جدول انبار و فروش انجام بدیم. تغییری توی جدول انبار و جدول فروش در فیلد تعداد نداریم. واسه همین بازم میگم مهم نیست. هنوز دلیلی براش ندیدم. دلیلی داری واسه اینکار؟

    جدول دارو : کد دارو، نام دارو، قیمت پایه، تعداد کل

    وقتی چیزی وارد انبارت شد، این فیلد رو به اضافه ورودی کن
    موقعی که فروختی این فیلد رو از خروجیت کسر کن

  26. #26
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط RIG000 مشاهده تاپیک
    سلام دوباره. دوست عزیز wolf راسش من دارم تحلیل مهندسی رو انجام میدم هنوز به برنامه دستی نزدم یعنی استارت نخورده میخام پایگاه رو به مد 3nf برسونم بعد شروع به برنامه نویسیش کنم. من همیشه اول برنامه رو کار میکردم اما الان بانک رو کار میکنم بعد برنامه رو . من نمونه ای از کاری که باید انجام شه زدم و ضمیمه میکنم . لطفا" دوستان بیان تصحیحش کنن. ممنون میشم. در ضمن من relational رو بهش زدم . ببینید مشکلات relation کجاست. ممنون
    به جدول داروت یه فیلد تعداد هم اضافه کن!
    نیازی نیست شماره فاکتور کلید باشه.

    توی جدول فروشت که ارتباطش با انبار یک به چند هست، فقط می تونی یک نوع دارو ثبت کنی که اشتباه میشه. پس باید یک کد فروش بذاری و اون کلید بشه نه کد دارو. ارتباط رو بین کد دارو :جدول دارو با کد دارو:جدول فروش بزن

    کد دارو، کد فروش، کد کاربر، کد انبار، کد شرکت رو هم اتونامبر بذار که خود سیستم تعیین کنه.

  27. #27

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط cherchil_hra مشاهده تاپیک
    برای جدول انبار شما نیاز به کلید داری به خاطر اینکه راحت بتونی یه سطر رو پیدا کنی (ویرایش، حذف)

    توی جدول دارو فقط یکبار اسم دارو ثبت میشه

    موجودی دارو توی جدول دارو نگه داشته میشه که دیگه نخوایم محاسبه رو با جدول انبار و فروش انجام بدیم. تغییری توی جدول انبار و جدول فروش در فیلد تعداد نداریم. واسه همین بازم میگم مهم نیست. هنوز دلیلی براش ندیدم. دلیلی داری واسه اینکار؟

    جدول دارو : کد دارو، نام دارو، قیمت پایه، تعداد کل

    وقتی چیزی وارد انبارت شد، این فیلد رو به اضافه ورودی کن
    موقعی که فروختی این فیلد رو از خروجیت کسر کن
    دوست عزیز میشه بانکی که گذاشتم رو ویرایش کنید ؟ ضمیمه کردم. اگه یه ویرایش کنید به همراه ریلیشن شیب ازتون ممنون میشم.

  28. #28
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    برای جدول انبار شما نیاز به کلید داری به خاطر اینکه راحت بتونی یه سطر رو پیدا کنی (ویرایش، حذف)
    جدولی به معنای واقعی انبار وجود نداره
    توی جدول دارو فقط یکبار اسم دارو ثبت میشه

    این هم کاملا" واضحه
    موجودی دارو توی جدول دارو نگه داشته میشه که دیگه نخوایم محاسبه رو با جدول انبار و فروش انجام بدیم.
    موجودی دارو قراره توی جدول دوم نگه داشته بشه (که باعث میشه نیاز به جدول انبار از بین بره)

    تغییری توی جدول انبار و جدول فروش در فیلد تعداد نداریم. واسه همین بازم میگم مهم نیست. هنوز دلیلی براش ندیدم. دلیلی داری واسه اینکار؟
    منظورتون رو نگرفتم

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

  29. #29
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط RIG000 مشاهده تاپیک
    دوست عزیز میشه بانکی که گذاشتم رو ویرایش کنید ؟ ضمیمه کردم. اگه یه ویرایش کنید به همراه ریلیشن شیب ازتون ممنون میشم.
    موفق باشی
    عکس های ضمیمه عکس های ضمیمه
    فایل های ضمیمه فایل های ضمیمه

  30. #30
    کاربر دائمی آواتار haniyehghassami
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شیراز
    سن
    37
    پست
    138

    Red face نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    سلام
    من این جوری یه طرحی از جدول زدم فکر کنم بدک نباشه
    .........................جدول دارو..............................
    1- code daro
    2-daro_name
    3- daro_comment
    ................................................. رودی انبار.............................
    1=code daro
    2=date_come_in(تاریخ ورود داده را ثبت کن و در کد نویسی هم مراقب تفاوت میان تاریخ ورود داده با تاریخ انقضا باش حتما)
    3=exp_date
    4=date_go_out(اگه این فیلد null باشه یعنی کالا هنوز تو انباره)
    .................................................. ............................................
    نیازی نیست که تعداد دارو ها را ثبت کنین تنها در زمان خروج از انبار یه تابع count صدا بزنین به این شکل

    public int count(int id_daro)
    {
    int num = (from tbl_vorodi in dataContext_daro.TBL_VOROD_ANBAR
    where tbl_vorodi.ID_daro == id_daro && tbl_vorodi.date_go_out == null
    select tbl_vorodi).Count();
    return num;
    }


    توی لینکیو این جوره فک کنم تقریبا

  31. #31
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نیازی نیست که تعداد دارو ها را ثبت کنین تنها در زمان خروج از انبار یه تابع count صدا بزنین
    وقتی تعداد داده های انبار بالا بره سرعت حساب کتاب پایین میاد واسه همین فیلد تعداد کل گذاشتم که وقتی دارو میاد بهش اضافه میشه وقتی فروش میره ازش کم میشه.

    پست 20

  32. #32

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    الان باید جدول انبار اول پر بشه یا جدول دارو ؟ اگه دارو باشه تعداد کل از کجا میاد؟ بعدش ما هر سری باید بیایم اینجا تعداد کل رو ویرایش کنیم.؟!!!!!! در صورتی که نام و .... ثابت هست و قیمت هم دیر به دیر تغییر میکنه. تو جدول انبار ما باید به جدول دارو دسترسی داشته باشیم از جمله نام و (کد) .. ما برای محاسبه تعداد کل نیاز به داریم. خب این تعداد از کوئری که از جدول انبار نمیاد مگه .؟ یعنی تعداد رو بر اساس کد دارو حساب میکنیم اینجا نمایش میدیم.الان با تعداد کل مشکل دارم من؟!!!!! چیکار کنم؟

  33. #33
    کاربر دائمی آواتار haniyehghassami
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شیراز
    سن
    37
    پست
    138

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    سلام
    الان باید جدول انبار اول پر بشه یا جدول دارو
    با ورود دارو اگه اسم دارو توی جدول نام دارو ثبت نشده باشه پس اول باید اون پر شه

    اگه دارو باشه تعداد کل از کجا میاد بعدش ما هر سری باید بیایم اینجا تعداد کل رو ویرایش کنیم.؟!!!!!!
    بله ،با هربار ثبت یک دارو تعداد آن دارو را از طریق کلید اصلیش به روزرسانی کن توی جدولی که تعداد هر دارو را ثبت کردین.(به نظرم یه جدول تنها برای موجودی های انبار بگذارین)

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

  34. #34
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    نقل قول نوشته شده توسط RIG000 مشاهده تاپیک
    الان باید جدول انبار اول پر بشه یا جدول دارو ؟ اگه دارو باشه تعداد کل از کجا میاد؟ بعدش ما هر سری باید بیایم اینجا تعداد کل رو ویرایش کنیم.؟!!!!!! در صورتی که نام و .... ثابت هست و قیمت هم دیر به دیر تغییر میکنه. تو جدول انبار ما باید به جدول دارو دسترسی داشته باشیم از جمله نام و (کد) .. ما برای محاسبه تعداد کل نیاز به داریم. خب این تعداد از کوئری که از جدول انبار نمیاد مگه .؟ یعنی تعداد رو بر اساس کد دارو حساب میکنیم اینجا نمایش میدیم.الان با تعداد کل مشکل دارم من؟!!!!! چیکار کنم؟
    همانطور که دوستمون گفت اول اسم دارو رو وارد می کنی و پیش فرض تعداد کل شما صفر هست. چون هنوز چیزی در انبار ثبت نشده.

    شما مقادیر ورودی داروها رو داری، درسته ؟ یک تعدادی هم می فروشی که توی جدول فروشت درج میشه. جمع کل داروهای وارده (از یک نوع) منهای جمع کل داروها فروخته شده (از یک نوع) میشه تعداد کل موجودی شما! وقتی شما تعداد رکوردهات توی این دوتا جدول بالا بره ممکنه (ممکنه ممکنه) حساب کتابش طی سالهای آینده یکم زمان بر بشه. واسه همین یه فیلد تعداد کل اضافه می کنیم که نخوایم این جمع و تفریق رو انجام بدیم.

    حالا تعداد کل رو اینجوری حساب می کنیم:
    کاربر شما دارو رو انتخاب می کنه و مثلا میزنه 100 تا وارد انبار شده. تایید می کنه. شما توی جدول دارو تعداد کل رو با این مقدار جمع می زنی.
    کاربر شما دارو رو می فروشه. شما تعداد فروخته شده رو از فیلد تعداد کل جدول داروت کم می کنی.

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

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

  35. #35

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    اینو یه نگاه میندازین ؟
    فایل های ضمیمه فایل های ضمیمه

  36. #36
    کاربر دائمی آواتار cherchil_hra
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    تهران
    پست
    162

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    total price توی جدول sale لازم نیست باشه. توی جدول sale هم تعداد رو داری هم قیمت!

  37. #37
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    دوباره سلام
    دو جدول را به صورت زیر نوشتم
    create table tblStuffs(GroupCode float not null,StuffCode float primary key,StuffName 
    nvarchar(50) not null,UnitName nvarchar(50),MinOrder float,MaxOrder float,FirstStore float
    ,FirstFee float,LastFee float,NowStore float)

    create table tblStore(StuffCode float,ExpiredDate date,Fee float,Store float,primary key(StuffCode,ExpiredDate))

    فقط به نظر شما برای جدول انبار این دو کلید کافیه یا یک کلید مجزا به عنوان مثال کلید انبار درنظر بگیرم و اون دو را از حالت کلید در بیارم

  38. #38
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    دوباره سلام
    اول معذرت می خوام که مطلبم مربوط به بخش Sql میشه ولی اینجا می گذارم
    create proc upTblStuffs
    @code float,@stuffCode float,@stuffName nvarchar(50),@unitName nvarchar(50)
    ,@expiredDate date,@minOrder float,@maxOrder float,@firstFee float
    ,@lastFee float,@firstStore float,@nowStore float,@store float
    --prvExpiredDate Is Preview Date
    ,@prvExpiredDate date
    as
    --prvStore Is For Save preview firstStore
    declare @prvStore float

    set @prvStore =(select tblStuffs.FirstStore from tblStuffs where StuffCode like @stuffCode)

    update tblStuffs set GroupCode=@code,StuffName=@stuffName,UnitName=@uni tName
    ,MinOrder=@minOrder,MaxOrder=@maxOrder,FirstFee=@f irstFee,LastFee=@lastFee
    ,FirstStore=@firstStore,NowStore=@nowStore where StuffCode like @stuffCode

    update tblStore set Store =(Store+@firstStore) where StuffCode=@stuffCode and
    ExpiredDate like @expiredDate and @prvExpiredDate <> @expiredDate

    delete from tblStore where StuffCode=@stuffCode and ExpiredDate like @expiredDate
    and @prvExpiredDate <> @expiredDate

    update tblStore set Store=(Store+(@firstStore - @prvStore)),ExpiredDate=@expiredDate where
    StuffCode = @stuffCode and ExpiredDate like @prvExpiredDate


    این کد برای آپدیت کردن یک کالا می باشد

    ورودی ها که کاملا" مشخص اند به جز 2 تا
    @pvrStore : این متغیر مقدار موجودی اولیه انبار را قبل از ویرایش بدست می آورد (موجودی اولیه انبار قابلیت ویرایش دارد برخلاف موجودی فعلی که طی عملیات ها تغییر می کند)
    @pvrExpiredDate : این متغیر به عنوان ورودی به تابع داده می شود تا مشخص شود تاریخ قبلی چه تاریخی بوده است (تعداد تاریخ ها نامشخص است پس تاریخ کالای در حال ویرایش ارسال می شود)


    آیا اشکالی در اون می بینید (یا به عبارتی ممکنه باگ پیدا کنه ) ؟
    کد یک کم گیج کننده شد (راستش خودم کم آوردم می خوام ببینیم از دید شما اشکالی برش وارده ؟)

  39. #39
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: ورود اطلاعات جدید جهت ثبت مقدار ها در داروخانه که تاریخ ها با هم همخانی ندارد

    دوستان خواهشا" اگر کسی sql بلده کمک کنه
    توی بخش sql نگذاشتم بخاطر اینکه کدم مربوط به این تاپیکه و شما بهتر می فهمید منظورم چیه

    کد بالا اشکال داشت و به صورت زیر ویرایش کردم
    خواهشا" ببینید اشکالی درش می بینید یا ایده بهتری برای نوشتن کدهای این جدول دارید

    create proc upTblStuffs
    @code float,@stuffCode float,@stuffName nvarchar(50),@unitName nvarchar(50)
    ,@expiredDate date,@minOrder float,@maxOrder float,@firstFee float
    ,@lastFee float,@firstStore float,@nowStore float
    --نگهداری تاریخ انقضای کالای در حال ویرایش
    ,@prvExpiredDate date
    as
    --نگهداری تعداد اولیه کالا قبل از ویرایش
    declare @prvStore float

    set @prvStore =(select tblStuffs.FirstStore from tblStuffs where StuffCode like @stuffCode)

    --به روز رسانی جدول کالا ها
    update tblStuffs set GroupCode=@code,StuffName=@stuffName,UnitName=@uni tName
    ,MinOrder=@minOrder,MaxOrder=@maxOrder,FirstFee=@f irstFee,LastFee=@lastFee
    ,FirstStore=@firstStore,NowStore=@nowStore where StuffCode like @stuffCode

    --به روز رسانی جدول انبار در صورتیکه تاریخ انقضای ورودی یا
    --به عبارتی جدید قبلا" در انبار باشد
    --در این حالت میزان کالای در حال ویرایش را به تاریخ انقضای جدد در انبار اختصاص میدهد
    --و تاریخ انقضای در حال ویرایش را از جدول حذف می کند
    update tblStore set Store =(Store+@firstStore) where StuffCode=@stuffCode and
    ExpiredDate like @ExpiredDate and @prvExpiredDate<>@expiredDate

    --به روز رسانی در صورتیکه تاریخ انقضای ویرایش شده در جدول نباشد
    update tblStore set Store=(Store+(@firstStore - @prvStore)),ExpiredDate=@expiredDate
    where StuffCode = @stuffCode and ExpiredDate like @prvExpiredDate

    -- عملیات حذف تاریخ انقضای در حال ویرایش را انجام میدهد
    delete from tblStore where StuffCode=@stuffCode and ExpiredDate like @prvExpiredDate
    and @prvExpiredDate<>@expiredDate and @expiredDate in
    (select ExpiredDate from tblStore where StuffCode=@stuffCode)
    آخرین ویرایش به وسیله wolf_majid : یک شنبه 15 آبان 1390 در 21:29 عصر دلیل: ویرایش سه باره کد

تاپیک های مشابه

  1. سوال: امکان ورود اطلاعات جدید در datagridview
    نوشته شده توسط mokhtasatxyz در بخش C#‎‎
    پاسخ: 3
    آخرین پست: دوشنبه 04 فروردین 1393, 13:05 عصر
  2. پاسخ: 4
    آخرین پست: سه شنبه 02 مهر 1392, 12:37 عصر
  3. سوال: اطلاع رسانی خودکار از ورود اطلاعات جدید در دیتابیس
    نوشته شده توسط ali.khoban در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 14 مهر 1391, 14:55 عصر
  4. مشکل در شمارنده در هنگام ورود اطلاعات جدید
    نوشته شده توسط mortezamhd در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 6
    آخرین پست: سه شنبه 30 تیر 1388, 16:57 عصر
  5. عدم نمایش آخرین رکورد جهت ورود اطلاعات جدید
    نوشته شده توسط fatimah در بخش Access
    پاسخ: 11
    آخرین پست: پنج شنبه 19 مرداد 1385, 13:31 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •