PDA

View Full Version : جمع جبری فیلد حاوی ساعت در دیتا ریپورت؟



dastiary
سه شنبه 09 اسفند 1384, 13:15 عصر
سلام
لطفا بفرمایید برای جمع بستن رکوردهای یک فیلد حاوی زمان(00:00) در دیتا ریپورت چطور میشه عمل کرد؟
ایا میشه هر فرمولی بجز اونایی که توی فانکشن دیتا ریپورت هست برای عملیات روی فیلدها استفاده کنیم؟

H_SH_VB
چهارشنبه 10 اسفند 1384, 00:59 صبح
من فکر میکنم اول دونه دونه ساعت هارو به یه عدد double با long تبدیل کن
بعد جمع کن بعد به ساعت تبدیل کن

dastiary
پنج شنبه 11 اسفند 1384, 17:04 عصر
من فکر میکنم اول دونه دونه ساعت هارو به یه عدد double با long تبدیل کن
بعد جمع کن بعد به ساعت تبدیل کن
****
منظورم فیلدیه که ساعت توش ذخیره میشه ومیخوام جمع اونارو بصورت ساب توتال داشته باشم.

H_SH_VB
پنج شنبه 11 اسفند 1384, 23:35 عصر
خوب منم همینو عرض کردم دیگه
رکورد به رکورد بخون اون فیلد ساعت رو به عدد تبدیل کن (مثلا به ثانیه)
بعد این عدد ذو بریز تو یه متغیر به نام مثلا Sum
به این صورت
Sum = Sum + intTime
بعد از اینکه همه ی رکورد هارو خوندی اون Sum رو به ساعت دوباره تبدیل کن
من تابع ثانیه به ساعت رو نوشتم اگه میخوای بگو بفرستم

dastiary
جمعه 12 اسفند 1384, 18:02 عصر
من تابع ثانیه به ساعت رو نوشتم اگه میخوای بگو بفرستم

****
نیکی وپرسش؟

لطف کن بگو وقتی که میخوام گزارش بگیرم چطور اول رکوردها را بخوانم(رکوردهایی که با کوئری تعیین میکنم)خلاصه! من دراین مورد چیزی نمیدونم.

H_SH_VB
جمعه 12 اسفند 1384, 19:46 عصر
'Tabdile sanie be formate sa'at
Public Function SecToMin(ByVal Seconds As Long) As String
On Error Resume Next
Dim Hour As Long, Min As Long, Sec As Long

'GetSeconds
Sec = Seconds Mod 60
Seconds = Seconds - Sec

Min = Seconds / 60 'too sanie haaye baghi moonde, chanta min hast?

Min = Min Mod 60 'mine standard (zire 60) ro dar miare


Seconds = Seconds - Min * 60
Hour = Seconds / 3600
SecToMin = Hour & ":" & Min & ":" & Sec
End Function

اگه به دردت خورد یا 5 تا دعای فرج بخون یا بار خطبه غدیر رو

dastiary
شنبه 13 اسفند 1384, 17:13 عصر
از بابت تابع ممنونم
تک تک رکوردها رو به ثانیه تبدیل کردم.مشکل اینجاست که نمیدونم چطور جمع فیلد رو به ساعت تبدیل کنم.چراکه اول گزارشو میگریم بعد ساب توتال ایجاد میشه
بهتر بگم:بعد از اینکه جمع فیلد را بدست آوردم چطور اونو به فرمت ساعت تبدیل کنم که همزمان توی گزارش بیاد.
باید یه راهی باشه که مقدار تابع سام رو به فرم ربط داد وبعد اونو به یه لیبل توی ریپورت ست کرد؟

H_SH_VB
شنبه 13 اسفند 1384, 22:56 عصر
والله نمیدونم چی میگی؟ تو access هست؟

dastiary
یک شنبه 14 اسفند 1384, 17:30 عصر
والله نمیدونم چی میگی؟ تو access هست؟

تو اکسس گشتم چیزی دستگیرم نشد

سوالمو جوری دیگه مطرح میکنم:
بعد از اینکه رکودها رو بصورت ثانیه ذخیره کردم حالا میخوام جمع اونا پس از تبدیل به فرمت ساعت زیر فیلد ساعت ظاهر بشه.نمیدونم چطور وکجا جمع ثانیه رو به تابع SecToMin ارسال کنم
اگه یه مثال عملی یا آدرس اونو توی اکسس یا ام اس دی ان بدید ممنون میشم
امیدوارم از سوالای ابتدایی وگنگ من خسته نشده باشید.



saat sanie
7200 02:00
10800 03:00
------ ------
18000 05:00

dastiary
پنج شنبه 25 اسفند 1384, 20:20 عصر
هنوز جوابمو نگرفتم.منتظرم

yavari
پنج شنبه 25 اسفند 1384, 22:54 عصر
دوست عزیز سلام
یه راه حل جلو پات میذارم اگه دیدی نیاز به Example داری تو همین تاپیک پیغام بذار

ببین ، اول که می آی زمان رو تو بانکت ذخیره کنی این دونقطه ها رو وردار بعد ذخیره شون کن
کافیه دو تا تابع کوچولو بنویسی یکی TimeToNumber و یکی
NumberToTime
خب ، حالا می بینی که تو بانکت یه چند تا عدد داری که برا جمع وتفاضل ریاضی رو می شه روشون انجام داد:تشویق:
فقط این جمع و تفاضل باید تو مبنای خودش که برا ساعت 60 هستش انجام بدی
:چشمک:
موفق باشی

dastiary
شنبه 27 اسفند 1384, 20:43 عصر
سلام دوست عزیز
ممنونم از جوابتون
ولی همانطوری که توضیح داده ام مشکل من تبدیل کردن ساعت به نامبر نیست.یک فیلد اضافی درست کردم که ساعت هر رکورد رو بصورت ثانیه ذخیره میکنه.جمع اونا رو در پایان گزارشم دارم حالا میخوام اون جمع را بصورت جمع ساعتها در زیر فیلد حاوی ساعت داشته باشم
مثلا 36950 ثانیه را بصورت ساعت نشون بده که مساوی10:15:5میشود
ممنون میشم اگه ضمن توصیح مثال هم بزنید

yavari
شنبه 27 اسفند 1384, 22:18 عصر
عزیز من ، dastiary جان
سلام

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

dastiary
یک شنبه 28 اسفند 1384, 17:58 عصر
yavari جان،سلام.
ممنونم از اینکه وقت میذارید.
ببینید من به صورت زیر عمل میکنم اگه لطف کنید ونظرتون رو بگید بازم ممنون میشم.
برای تبدیل ثانیه به ساعت اول ریپورت میگیرم تا مجموع ثانیه ها رو از داخل گزارش بخونم بعد اونو به تابع تبدیل ثانیه به ساعت ارسال میکنم
سپس گزارش رو ریفرش میکنم حالا خروجی تابع رو به یک لیبل در ریپورت میفرستم.
حالا من راهی میخوام که ثانیه ها بدون دخالت کاربر به ساعت تبدیل بشن.

پیشاپیش سال نو مبارک!

yavari
سه شنبه 01 فروردین 1385, 23:12 عصر
سلام

مگه الان بدون دخالت کاربر نیست ؟؟؟ !!!
:متفکر: :متفکر: :متفکر:

dastiary
چهارشنبه 02 فروردین 1385, 18:47 عصر
سلام دوست عزیز
کاربر بایستی اول ریپورت بگیرد سپس مجموع ثانیه ها رو از داخل گزارش بخونه وبصورت دستی در یک تکست باکس وارد کنه و دوباره گزارش بگیره

yavari
چهارشنبه 02 فروردین 1385, 20:35 عصر
سلام

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

موفق باشی