PDA

View Full Version : انتخاب بازه زمانی از طریق Combobox



iransim
جمعه 24 اسفند 1386, 00:10 صبح
سلام
من برای کوئری خود از طریق دو تکس باکس واقع در یک فرم مقادیر ابتدا و انتهای تاریخ گزارش درخواستی را وارد می کنم از طریق دستور زیر:

([ Between ([forms]![InReport]![date_az]) And ([forms]![INreport]![date_ta

و گزارش مورد نظر ارائه می شود حال می خواهم :

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

مثلا"
انتخاب کمبو باکس1 86 انتخاب کمبو باکس2 خرداد

مقادیر دریافتی توسط کوئری از 01/03/86 تا 31/03/86

ممنون از راهنمائی دوستان

bad_boy_2007
جمعه 24 اسفند 1386, 00:16 صبح
سلام
من برای کوئری خود از طریق دو تکس باکس واقع در یک فرم مقادیر ابتدا و انتهای تاریخ گزارش درخواستی را وارد می کنم از طریق دستور زیر:

([ Between ([forms]![InReport]![date_az]) And ([forms]![INreport]![date_ta

و گزارش مورد نظر ارائه می شود حال می خواهم :

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

مثلا"
انتخاب کمبو باکس1 86 انتخاب کمبو باکس2 خرداد

مقادیر دریافتی توسط کوئری از 01/03/86 تا 31/03/86

ممنون از راهنمائی دوستان


فیلد تاریخ از نوع میلادی است یا شمسی ؟؟؟؟
به این نکنه دقت کردی که برای تاریخ و ساعت باید این عبارات بین دو علامت شارپ قرار گیرند مثلا : #1/1/2001# ؟؟
ببین دوست من اگر فیلد تاریخ از نوع شمسی هست بهتره اون ر به میلادی تبدیل کنی و موقع بازیابی مجددا به شمسی بر گردونی یکم کارت سخت میشه ولی ارزش استفاده از توابع محاسبه روی تاریخ و همچنین تضمین صحت تاریخ ذخیره شده رو داره

مهدی قربانی
جمعه 24 اسفند 1386, 02:32 صبح
سلام
این نمونه رو ببین البته یخورده کاملتر از اون چیزیه که خواستی .

iransim
جمعه 24 اسفند 1386, 02:35 صبح
فیلد تاریخ از نوع میلادی است یا شمسی ؟؟؟؟
به این نکنه دقت کردی که برای تاریخ و ساعت باید این عبارات بین دو علامت شارپ قرار گیرند مثلا : #1/1/2001# ؟؟
ببین دوست من اگر فیلد تاریخ از نوع شمسی هست بهتره اون ر به میلادی تبدیل کنی و موقع بازیابی مجددا به شمسی بر گردونی یکم کارت سخت میشه ولی ارزش استفاده از توابع محاسبه روی تاریخ و همچنین تضمین صحت تاریخ ذخیره شده رو داره


دوست عزیز تاریخ من از نوع شمسی و از تابع مربوط به آن استفاده کردم خوب چطور میشه در خصوص مسئله ای که عنوان کردید عمل کرد و این چه کمکی در حل مشکل من می کند ؟

ممنونم

iransim
جمعه 24 اسفند 1386, 02:44 صبح
سلام
این نمونه رو ببین البته یخورده کاملتر از اون چیزیه که خواستی .


مهدی جان سلام
تشکر از نمونه ای که گذاشتی
فکر کنم منظورم رو خوب نگفتم ، می خواهم وقتی از طریق دو کمبو روی فرم که با یکی سال و دیگری ماه را انتخاب می کنیم ( مثلا" انتخاب می کنیم از یکی 86 و از دیگری "خرداد" ) خود کوئری تشخیص دهد که منظور ما تاریخهای ( 01/03/86 تا 31/03/86 ) بوده و گزارش را بر اساس این بازه زمانی نمایش دهد .

اگه بازم مبهم گفتم بفرمائید بیشتر توضیح دهم .
ممنون

مهدی قربانی
جمعه 24 اسفند 1386, 03:12 صبح
خوب چرا ؟ اینطوری قدرت مانور در گزارشگیری محدود میشه شاید کابر بخواد بازه زمانی هفتگی یا هر مدت دیگه ای که مورد نظرشه انتخاب کنه ! به هر حال این یکی نمونه فکر کنم چیزیه که میخوای

iransim
جمعه 24 اسفند 1386, 12:21 عصر
خوب چرا ؟ اینطوری قدرت مانور در گزارشگیری محدود میشه شاید کابر بخواد بازه زمانی هفتگی یا هر مدت دیگه ای که مورد نظرشه انتخاب کنه ! به هر حال این یکی نمونه فکر کنم چیزیه که میخوای

مهدی جان دستت طلا
دقیقا" همانی بود که می خواستم
فقط یک سئوال : امکان دارد در کمبو ماه به جای اعداد 01 و 02 و.... از عبارات "فروردین" و " اردیبهشت" و..... استفاده کرد ؟

و اما در مورد بازه گزارش حق با شماست ولی من در این برنامه این بازه گزارش به درخواست User قرار داده شده است .

بازم ممنون از راهنمائی شما

مهدی قربانی
جمعه 24 اسفند 1386, 15:11 عصر
سلام
اگر بخوای از عبارات ماه استفاده کنی لازمه برای ماههای سال یه جدول بسازی حاوی دو فیلد ماه و عنوان ماه ( هردو از نوع تکست ) بعد در فرم ، خصوصیت Row Source Type‌ کامبوی ماه رو از Value List‌ به Table/Query‌ تغییر بده و بعد روی کلید خصوصیت Row Source کلیک کن و از کادر Show Table جدول ماه رو انتخاب و فیلدهاشو در Query‌ ساخته شده صدا کن و بعد از تائید پیغام SQL‌ برو سراغ برگه Format و مقدار خصوصیت Column Count رو به 2 تبدیل کن و همینطور در خصوصیت Column Withd این مقادیر رو بنویس 2;0 حالا اون حالتی که مورد نظرته اجرا میشه .

iransim
یک شنبه 26 اسفند 1386, 01:28 صبح
سلام
اگر بخوای از عبارات ماه استفاده کنی لازمه برای ماههای سال یه جدول بسازی حاوی دو فیلد ماه و عنوان ماه ( هردو از نوع تکست ) بعد در فرم ، خصوصیت Row Source Type‌ کامبوی ماه رو از Value List‌ به Table/Query‌ تغییر بده و بعد روی کلید خصوصیت Row Source کلیک کن و از کادر Show Table جدول ماه رو انتخاب و فیلدهاشو در Query‌ ساخته شده صدا کن و بعد از تائید پیغام SQL‌ برو سراغ برگه Format و مقدار خصوصیت Column Count رو به 2 تبدیل کن و همینطور در خصوصیت Column Withd این مقادیر رو بنویس 2;0 حالا اون حالتی که مورد نظرته اجرا میشه .


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

مهدی قربانی
یک شنبه 26 اسفند 1386, 01:52 صبح
سلام
این نمونه رو با مطالب پست قبلیم مطابقت بده و نکاتی که به ترتیب ذکر کردم رو روی نمونه چک کن تا روش اجرای کار رو متوجه بشی .

iransim
سه شنبه 28 اسفند 1386, 00:46 صبح
سلام
این نمونه رو با مطالب پست قبلیم مطابقت بده و نکاتی که به ترتیب ذکر کردم رو روی نمونه چک کن تا روش اجرای کار رو متوجه بشی .


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

مهدی قربانی
سه شنبه 28 اسفند 1386, 01:13 صبح
سلام
یه تکست باکس روی Report‌ در قسمت Header بذار بعد در رخداد On Format همون Header این کدها رو اضافه کن :


Select Case Mid(Me.datee, 3, 2)

Case "01"
Me.Text7 = "فروردین"

Case "02"
Me.Text7 = "اردیبهشت"

Case "03"
Me.Text7 = "خرداد"

Case "04"
Me.Text7 = "تیر"

Case "05"
Me.Text7 = "مرداد"

Case "06"
Me.Text7 = "شهریور"

Case "07"
Me.Text7 = "مهر"

Case "08"
Me.Text7 = "آبان"

Case "09"
Me.Text7 = "آذر"

Case 10
Me.Text7 = "دی"

Case 11
Me.Text7 = "بهمن"

Case 12
Me.Text7 = "اسفند"

End Select

iransim
سه شنبه 28 اسفند 1386, 02:03 صبح
سلام
یه تکست باکس روی Report‌ در قسمت Header بذار بعد در رخداد On Format همون Header این کدها رو اضافه کن :


Select Case Mid(Me.datee, 3, 2)

Case "01"
Me.Text7 = "فروردین"

Case "02"
Me.Text7 = "اردیبهشت"

Case "03"
Me.Text7 = "خرداد"

Case "04"
Me.Text7 = "تیر"

Case "05"
Me.Text7 = "مرداد"

Case "06"
Me.Text7 = "شهریور"

Case "07"
Me.Text7 = "مهر"

Case "08"
Me.Text7 = "آبان"

Case "09"
Me.Text7 = "آذر"

Case 10
Me.Text7 = "دی"

Case 11
Me.Text7 = "بهمن"

Case 12
Me.Text7 = "اسفند"

End Select


آقا مهدی دستت طلا خیلی ممنون