PDA

View Full Version : ساعت بصورت hh:mm بدون کم یا زیاد در فرمت datetime



mohsen.sh88
شنبه 13 خرداد 1391, 17:18 عصر
سلام
عنوان گویاست می خواهم فرمت ساعت بصورت hh:mm بدون هرگونه اضافات و مخلفات اما در فیلد تیپ datetime ذخیره کنم تا بتونم از توابع vba برای جمع جبری اونها استفاده کنم

mehdi.mousavi
شنبه 13 خرداد 1391, 18:12 عصر
سلام عنوان گویاست می خواهم فرمت ساعت بصورت hh:mm بدون هرگونه اضافات و مخلفات اما در فیلد تیپ datetime ذخیره کنم تا بتونم از توابع vba برای جمع جبری اونها استفاده کنم

سلام.
عنوان گویاست، اما درخواست خیر. :) در واقع توانایی جمع جبری زمان در VBA، دلیل خوبی برای پیدا کردن Data Type ای که بشه در اون ساعت و دقیقه رو نگهداری کرد، جالب نیست. در ابتدا بگم که شما نمی تونید hh:mm رو در فیلد datetime نگهداری کنید، حتی اگر از time data type هم استفاده کنید، بازهم ثانیه ذخیره خواهد شد. بنابراین، شما می تونید زمان مورد نظرتون به دقیقه تبدیل کنید و اونو بصورت فیلدی با تایپ int نگهداری کنید تا براحتی بتونید محاسبات خودتون رو انجام بدید. اما، راه بهتر این هستش که فیلدی از نوع time در بانک تعریف کنید و داده مورد نظر رو اون تو نگهداری کنید. بدین ترتیب، میتونید با یک Query ی ساده، همون سمت SQL Server، اقدام به جمع جبری ساعت / دقیقه کنید. بطور مثال:

SELECT
TotalSeconds / 3600 as [Hours],
(TotalSeconds % 3600) / 60 as [Minutes]
FROM
(
SELECT
SUM(DATEPART(hour, [time]) * 3600) +
SUM(DATEPART(minute, [time]) * 60) +
SUM(DATEPART(second, [time])) as TotalSeconds
FROM Table_1
) tm

بر اساس فیلد time در جدول Table_1، جمع ساعت ها و دقائق رو به شما بصورت جداگانه میده. بنابراین اصلا نیازی نیست تا چنین محاسباتی رو به سمت Client ببرید...

موفق باشید.

mohsen.sh88
سه شنبه 16 خرداد 1391, 16:48 عصر
با عرض خداقوت
یه سوال مبتدیانه دیگه
کلاینت من اکسس پروجکت هست
وقتی میخوام تعدادی رکورد رو بصورت پارامتری ( با سوال از کاربر ) فیلتر کنم و بعد جمع ساعات اون رو حساب کنم باید چطور عمل کنم ؟
من فقط بلدم با sp کوری پارامتری بسازم ( مثل mdb اکسس ) و موفق نشدم این راه حلی رو که شما دادید و در مورد view به خوبی
کار می کنه در sp پیاده کنم .
بصور خلاصه
آیا روی sp میشه این محاسبات رو انجام داد ؟
و یا
ممکنه این view رو طوری ساخت که پارامترهای مورد نظر کاربرو ازش سوال و فیلتر کنه ؟
ممنون