ورود

View Full Version : جمع چند فیلد در یک فیلد



amir_3530
چهارشنبه 23 شهریور 1384, 07:51 صبح
سلام من یک جدول در اکسس دارم که در آن اطلاعات مالی دانش آموزان ثبت شده
طور مثال یک دانس آموز ممکن چند فیشش برای ثبت نام پرداخت کرده باشه
حالا میخوام جمع این فیلدها رد یک فیلد ذخیره بشه
برای هر دانش آموز
کامل توضیح بدهید چون من اکسس اصلا وارد نیست
ممنون.

6raya1043
چهارشنبه 23 شهریور 1384, 08:49 صبح
یک فیلد مخصوص جمع کل درنظر بگیر بعد درفرمی که تهیه میکنید در on enter فیلد جمع کل آن بنویس if a>0 or b>0 or c >0 then
d=a+b+c
endif
d مثلا فیلد جمع کل میباشد بقیه فیلدها دیگرکه بایدجمع شود

sarami
چهارشنبه 23 شهریور 1384, 14:25 عصر
متاسفانه روشی که من میخوام بگم شاید به درد شما نخوره ولی به درد بقیه افراد شاید بخوره
یه تابع تعریف کنین متغیر ورودی اون کد دانش آموز باشه حالا یک recordset بسازین مقدار sum پرداختی اون دانش آموز رو به دست بیارین
حال تو یه query کد دانش آموزان رو بخونین و اون تابع رو هم تو یه فیلد محاسباتی صداش بزنین و پارامتر ورودی که کد دانش آموز هستش رو براش پاس کنین
مزیت این کار اینه که دیگه نیازی به ثبت جمع کل پرداختی و بروز نگاه داشتن اون در صورت واریز فیش های جدید نیست

6raya1043
شنبه 26 شهریور 1384, 09:34 صبح
این روش خیلی برای من کاربرد دارد اگر بتوانید کمک کنید کد آنرا بنویسید .
منظور از پارامتر راارسال کردن چیست

sarami
شنبه 26 شهریور 1384, 10:32 صبح
شما باید قادر به نوشتن Module باشید سعی میکنم تو این هفته یه فایل نمونه برای شما upload کنم

sarami
چهارشنبه 30 شهریور 1384, 03:57 صبح
فایل نمونه رو download کننین دو تا جدول داره asli و pardakhti
asli:دربرگیرنده id و نام و نام خانوادگی افراده
pardakhti :شامل id فرد و مبلغ پرداختیه
یه query وجود داره که پرداختی فرد رو جمع کرده نشونتون میده و نیازی به بروزرسانی نداره یعنی با هر پرداخت فرد جمع کل اون هم تغییر میکنه و بروز میشه موفق باشین

6raya1043
شنبه 02 مهر 1384, 13:19 عصر
باسلام
آقای سارمی فایل شما را دانلو کردم از زحمتی کشیده شده تشکر میکنم اگر بشود ایمپوت کرد و ازاین ماجول درجاهای دیگر استفاده کرد بسیار ارزشمند است اما هرراهی را رفتم ماجول کارایی نداشت و در ماجول قمست تعریف متغییر
Dim db As Databaseکامپایل ارورمیدهد واعلام میکند یوزر- دیفرنت تایپ نات دیفرنت
1- مشکل ازچیست (ناگفته نمانددراکسس ورشن2000و2002تست شده)

2- ضمنا آیابرای هرستون اعداد باید یک ماجول تعریف کرد؟

sarami
شنبه 02 مهر 1384, 16:57 عصر
ببین دوست عزیز هرجا که نیاز باشه تا محاسباتی انجام بدی که روی table دیگه است میتونی از اون استفاده کنی اما در مورد مشکلتون من اینو با access 2003 نوشتم ولی فکر نمیکنم با 2000 مشکلی داشته باشه درمورد اینکه برا هر فیلد باید اینو انجام بدی میتونی 3 تا متغییر پاس کنی یکی نام table دوم نام فیلد و سوم پارامتری که میخواهی فیلتر بشه و بعدش جمع بسته بشه من این فایل نمونه رو گذاشتم تا دوستان ایده بگیرن ازش شما هم سعی کنین به همون صورت عمل کنین

6raya1043
سه شنبه 05 مهر 1384, 13:05 عصر
جناب سارمی
زمانی که برای شما در کامپوتر من بازمیشود در فایل نمونه شما درقسمت ماجول متغییر db دتابیس تعریف شده در قسمت آبجکت بروزر سربرگ DAO (که کلاسس دتابایس درآن موجوداست ) دارد اما هر برنامه اکسس دیگر را باز میکنم این سربرگ وجود ندارد(حتی در اکسسهای ورشن بالاتر) چرا؟ چطور میشود ایجادکرد؟

6raya1043
سه شنبه 05 مهر 1384, 13:06 عصر
جناب سارمی
زمانی که برنامه شما در کامپوتر من بازمیشود در فایل نمونه شما درقسمت ماجول متغییر db دتابیس تعریف شده در قسمت آبجکت بروزر سربرگ DAO (که کلاسس دتابایس درآن موجوداست ) دارد اما هر برنامه اکسس دیگر را باز میکنم این سربرگ وجود ندارد(حتی در اکسسهای ورشن بالاتر) چرا؟ چطور میشود ایجادکرد؟

Heydari865
سه شنبه 05 مهر 1384, 22:19 عصر
بدون نیاز به کد نویسی با Query همین نتیجه حاصل میشودچ
برنامه جناب Sarami با Query اصلاح شده

6raya1043
چهارشنبه 06 مهر 1384, 18:51 عصر
جناب حیدری ازشما ممنونم کار آسان شد ازآقای سارمی نیز تشکر میکنم که مارابیشتر با کدنویسی آشنامیکند
میشه بگید اگر در یک کوئری که دو ستون جمع داردمانند a - b تفاضل این دو برحسب عدد بزرگتر در دو ستون دیگر مثل c-d قراربگیرد . مثلا اگر عدد بزرگتر در ستون a بود حاصل تفاضل در c و درغیراینصورت در d قرار بگیردآیا درکوئری میشود

ضمنا در خصوص dao اگر توضیحی دارید خوشحال میشوم

Heydari865
پنج شنبه 07 مهر 1384, 00:28 صبح
توضیحاتت کمی مبهم بود ولی با این حال برنامه پیوست رو نگاه کن ببین مشکل حل مییشه یا نه ؟

Heydari865
پنج شنبه 07 مهر 1384, 00:36 صبح
آپلود نمیشه !!!

sarami
پنج شنبه 07 مهر 1384, 12:36 عصر
آقای حیدری عزیز ممنون از query که گذاشتین منظور من این بود که دوستان بتونن از function نویسی در query ها استفاده کنن شاید تو query شما مشکل sum حل بشه ولی اگه همین مورد به شرایطی که برای محاسبه استثنا داره بره از group by و sum نمی شه استفاده کرد چون میدونستم با اومدن یک استثنا شرایط تغییر میکنه ترجیح دادم از کد نویسی استفاده کنم درنهایت موفق باشید

Heydari865
شنبه 09 مهر 1384, 16:30 عصر
با تشکر از آقای Sarami (با عرض پوزش تلفظ فارسی فامیلیتون رو نمیدونستم)
توضیحات ایشون کاملاً درست و منطقیست اینو هم بگم که اغلب کدها ( نه تمامی اونها) با Query ( که خود Query هم مجموعه ای از کدهاست) قابل انجام هست و در عین حال امکاناتی رو هم در اختیار شما قرار میده
Query درخواستی 6raya1043 ( که معلوم نیست اسمش چیه ؟ ) به پیوست هستش

a.razavi
جمعه 30 فروردین 1387, 12:17 عصر
فایل نمونه رو download کننین دو تا جدول داره asli و pardakhti
asli:دربرگیرنده id و نام و نام خانوادگی افراده
pardakhti :شامل id فرد و مبلغ پرداختیه
یه query وجود داره که پرداختی فرد رو جمع کرده نشونتون میده و نیازی به بروزرسانی نداره یعنی با هر پرداخت فرد جمع کل اون هم تغییر میکنه و بروز میشه موفق باشین
سلام
من هم یه مشکلی شبیه همین پیدا کردم ولی یکم مشکلتر.
سوءالم اینه اگه این پرداخت ها مربوط به ماه های مختلف باشه و من یه فیلد تاریخ کنار انها اضافه کنم و

بخوام جمع پرداختی رو از اول سال تا یه ماه دلخواه حساب کنم چیکار باید بکنم
توضیح اینکه:ماه دلخواهم رو هر دفعه از طریق مثلا یه فرم ازم بخواد.
لطفا" کمکممممممم کنید.

مهدی قربانی
جمعه 30 فروردین 1387, 22:09 عصر
سلام
دوست عریز ببینید آخرین نمونه موجود در تاپیک زیر ایده ای بهتون میده :
http://barnamenevis.org/forum/showthread.php?t=98198

a.razavi
جمعه 30 فروردین 1387, 22:25 عصر
سلام
دوست عریز ببینید آخرین نمونه موجود در تاپیک زیر ایده ای بهتون میده :
http://barnamenevis.org/forum/showthread.php?t=98198

با سلام خدمت استاد بزرگوارم آقا مهدی
از اینکه به سوالم توجه فرمودید بسیار متشکرم
میشه خواهش کنم یه نمونه واسم بزارید
توضیح اینکه
1. مثلا من جمع پرداختی هر نفر تا ماه مهر 86 را می خوام و با توجه به اینکه اطلاعات مثلا از سال 80 تا 87 در آن موجود باشد.
2.من میخوام مثل بالا با کوئری این کار در یک آن برای همه جدول انجام بشه.
خییییییلی ممنون:خجالت:

ehsan.daneshgar
چهارشنبه 07 مرداد 1388, 17:46 عصر
جناب اقای صارمی من تازه عضو شدم پس برای سوال مجدد ببخشید.
من این کاردکس را در اکسل نوشتم ولی بردن این فرمول update کردن موجودی تو اکسس برام سخت لطفا راهنمایی کنید.
ممنون

dark_memento
یک شنبه 14 فروردین 1390, 13:35 عصر
سلام جناب سارمی
من یه دیتا بیس دارم که میخوام یه پرس و جو داشته باشم که یک ستون برای من داشته باشه و مقدار مجموع (تجمعی) یک فیلد رو در این ستون نمایش بده به صورتی که جلوی هر رکورد جمع کل مقادیر تاکنون رو به اضافه مقدار این رکورد بکنه
ممنونم اگه راهنمایی بفرمائید . البته کد نویسی هم بلد نیستم و اگه مثل همین فایل sum فایلی نمونه بزارید کلی ممنون میشم ازتون.

garshasb_x
پنج شنبه 03 مرداد 1392, 20:44 عصر
درود
دوستان من تازه عضو شدم اصطلاحا بچم
من میخوام با دستورات وی بی یا ماکرو یا هر چیز دیگری یک یا چندتا فیلد از یک جدول یا کوئری رو توی یک فیل از یک جدول دیگه قرار بدم
لطفا کمک کنید
خیلی ممنون.

shojaei.s
سه شنبه 22 تیر 1400, 20:42 عصر
با سلام و احترام خدمت همه اساتید عزیز، بنده کاملا مبتدی هستم برای همین خیلی ممنون میشم راهنمایی را که لطف می کنید ساده بیان بشه

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

نکته : دو تا انبار در دو جدول مختلف دارم که دقیقاً همون فرایند بالا رو برای هر دو جدول انجام دادم

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

ارتباط بین دو کوئری مانده از طریق کد مشترک کالا و شرکت تامین کننده کالا هست
در صورت راهنمایی بی نهایت سپاسگذار خواهم بود / تشکر

shojaei.s
سه شنبه 22 تیر 1400, 21:36 عصر
فایل رو ضمیمه کردم / پیشاپیش ممنونم

mazoolagh
پنج شنبه 24 تیر 1400, 09:34 صبح
با سلام و احترام خدمت همه اساتید عزیز، بنده کاملا مبتدی هستم برای همین خیلی ممنون میشم راهنمایی را که لطف می کنید ساده بیان بشه

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

نکته : دو تا انبار در دو جدول مختلف دارم که دقیقاً همون فرایند بالا رو برای هر دو جدول انجام دادم

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

ارتباط بین دو کوئری مانده از طریق کد مشترک کالا و شرکت تامین کننده کالا هست
در صورت راهنمایی بی نهایت سپاسگذار خواهم بود / تشکر

سلام و روز خوش
هر چه توضیحات شما گویاتر و دقیقتر باشه زودتر و بهتر پاسخ میگیرین، گشتن در برنامه و پیدا کردن ارتباط بین اجزای اون کار وقت گیری هست؛
1- اسکرین شات از نتایج نادرست بگیرین و روی اون مشکل رو مشخص کنین.
2- کوئری ها رو مشخص کنین.