ورود

View Full Version : سوال: بدست آوردن قیمت



pelina
سه شنبه 03 شهریور 1388, 12:53 عصر
سلام
پروژه ای دارم با sql2000 و دلفی(داروخانه) میخواستم که قیمت هر نسخه را محاسبه کنم که مقدار قیمت هر دارو در جدول دارو و تعداد داروهام در جدول فاکتور هست ولی نمیدونم که چه query بنویسم تا این دو مقدار را گرفته و در هم ضرب بکند و با دیگر مقادیرم که اینطوری بدست می آید جمع زده شود و در یک dbedit نشان داده شود
ممنون میشم که هر چی سریعتر بهم بگید
مرسی

matinebi
سه شنبه 03 شهریور 1388, 14:08 عصر
اول باید جدول دارو هاتو بر اساس نام داروت فیلتر کنی بعد جدول فاکتور که تعداد داروت داخل اونه فیلتر کن سپس میتونی با یک ضرب ساده مقداری که میخوای بدست بیاری البته نه در dbedit میتونی به یک edit بفرستی

pelina
سه شنبه 03 شهریور 1388, 18:20 عصر
ممنون از راهنماییتون ولی مشکل من اینه که نمیدونم چطوری باید فیلتر کنم؟
ممنون میشم که واضح تر ت.ضیح بدید

babak_delphi
سه شنبه 03 شهریور 1388, 18:28 عصر
شما موقع پر کردن فاکتور ، وقتی یک دارو را انتخاب می کنید قیمتش را در فاکتور درج نمی کنید؟

pelina
سه شنبه 03 شهریور 1388, 18:42 عصر
بذارید بیشتر توضیح بدم راجعبه بانک اطلاعاتیم.من یک جدول دارم به نام ثبت فروش که درون آن فیلدهایی دارم به این ترتیب : شماره فاکتور/کد دارو/قیمت کل/نام دارو های خریداری شده که 5 تا هستش و تعداد داروها ک اونم 5 تاست
ودر جدول داروهام کد دارو/ نام دارو/قیمت خرید/ قیمت فروش و... داره
من نمیخوام به صورت دستی خودم حساب کنم که مبلغ کلم چقدر میشه و وارد بانک اطلاعاتتیم کنم بلکه می خوام اینا رو خود برنامه حساب کنه و با فشردن دکمه ای که مربوط به همین عملیات هست جمع کل را وارد بک dbedit بکنه که ست شده به قیمت کل در جدول ثبت فروش

matinebi
سه شنبه 03 شهریور 1388, 19:17 عصر
این کد برای فیلتر کردن جدولهاتون بنویسید .

adoquery.sql.clear;
adoquery.sql.add('select * from tblname where code_daro ='+quetedstr(edit1.text);
adoquery.open;
و سپس عمل ضرب رو انجام دهید

edit2.text:=adoquery1[gheymat_forosh]*adoquery2[tedad];

pelina
سه شنبه 03 شهریور 1388, 22:29 عصر
خیلی از راهنماییتون ممنون ولی یک مشکلی که دارم اینه که اولا نمیدونم که کدی که برای فیلتر کردن جدول ها ست را کجا بنویسم؟ تو همون کلیدی که برای نشان دادن قیمت در نظر گرفتم؟
من تو فرم حق انتخاب 5 دارو را با 5 تا dbcombobox نشان دادم و 5 تای دیگر هم برای تعداد قرار دادم و تو 5 تا dbedit هم قیمت یکی از داروها را نشون میدم
درضمن وقتی که کد برای ضرب را می نویسم پیغام undeclared identifier برای قیمت فروش و تعداد می دهد

bmanfy
چهارشنبه 04 شهریور 1388, 09:23 صبح
دستور Sql به شکل زیر میشه :(این جمع رو به دست میاره )


Select gheimat , tedad , (gheimat * tedad) as kol from tbl


اینم جمع کل ردیف ها رو :


Select Sum(kol) from select (gheimat * tedad) as kol from tblname

bmanfy
چهارشنبه 04 شهریور 1388, 09:24 صبح
در ضمن اگر بخواهی برای هم یک از فاکتور هات هم حساب کنی کفیه با یه Where این کارو کنی .

matinebi
چهارشنبه 04 شهریور 1388, 13:36 عصر
من متوجه نمیشم شما دقیقا میخواین چکار کنین میخواین فاکتور صادر کنید یا میخواین فقط ثبت بانک کنین یا میخواین ....
لطفا بیشتر توضیح بدین

bmanfy
چهارشنبه 04 شهریور 1388, 17:31 عصر
تا جایی که من متوجه شدم دوستمون برای نمایش حاصل هر سطر از فاکتور و نمایش جمع فاکتور مشکل داره .

pelina
چهارشنبه 04 شهریور 1388, 19:41 عصر
من میخوام هم فاکتور صادر کنم و هم قیمت کل را وارد بانک اطلاعاتیم کنم توسط یک db edit
من توی فرمم برای هر مشتری فقط انتخاب 5 دارو را تعیین کردمم که وقتی ک نام دارو رو از db combobox دریافت میکنه قیمت هر یدونه دارو رو تو یه db edit نشان میده جلوی همون دارو حالا من می خوام این قیمتو * تعداد همون دارو بکنه و این 5 تا رو با هم جمع بکنه و با فشاردن دکمه قیمت کل تو یه db edit دیگه حاصل رو بهم نشون بده

pelina
چهارشنبه 04 شهریور 1388, 19:44 عصر
سلام دوست عزیز
توضیحاتم کامل بود؟

matinebi
چهارشنبه 04 شهریور 1388, 20:58 عصر
شما بهتره یک جدول در نظر بگیری با فیلدهای کد دارو،نوع دارو،نام دارو،موجودی دارو،قیمت خرید،قیمت فروش
که بشه table_daro حالا یک جدول در نظر بگیری به نام table_factor با همین فیلدهای کد دارو،نوع دارو،نام دارو،قیمت جزء،تعداد،قیمت کل

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

label1.caption:=label1.caption+adoquery['tedad']*adoquery['gheymat_forosh'];
یک dbgrid هم بزار که متصدی داروخونه هر چی ثبت میکنه ببینه

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