PDA

View Full Version : سوال: مشکل گزارش بر اساس تاریخ!



ramin005
سه شنبه 29 آذر 1390, 12:56 عصر
با سلام

بنده یه فرمی دارم که بر اساس
- بازه ی زمانی
- بازه ی شماره های سریال
- نوع بن صادر شده
گزارشات رو هیلتر میکنه

شماره سریال و نوع بن مشکلی نداره و عالی جواب میده اما متاسفانه هر کاری کردم نتونستم بر اساس تاریخ هم هیلتر کنم!
در حالی که از طریق کوئری راحت میشه عمل هیلتر روی تاریخ را اعمال کرد

تاریخ را به صورت تکست در جدول ذخیره میکنم
بدون inputmask و عینا به صورت 1390/09/29

فایل پیوستی گویای مشکل بنده است
ممنون میشم اساتید اگر راهنمایی بفرمایند
خیلی ضروری است
با تشکر

ramin005
سه شنبه 29 آذر 1390, 19:17 عصر
دوستان من واقعا گیر این یه تیکه موندما
پلیز هلپ میییییییی !

samuel*
سه شنبه 29 آذر 1390, 19:31 عصر
برنامه پرنیان رو از نت دانلوذ کن
بعد فرمت تاریخ دیتا بیستو بدار رو date/time بعد برو تو آپشن اکسس و تیک تاریخ هجری رو بزن تاریحات شمسی میشه و مشکلت حل میشه

Rasool-GH
سه شنبه 29 آذر 1390, 20:05 عصر
اقا من متوجه نشدم که چرا از کوئری استفاده نمیکنی
در صورتی که با کوئری کارت راه میوفته میتونم برات اصلاحش کنم

ramin005
سه شنبه 29 آذر 1390, 20:43 عصر
اقا من متوجه نشدم که چرا از کوئری استفاده نمیکنی
در صورتی که با کوئری کارت راه میوفته میتونم برات اصلاحش کنم

گزارش الان جوری نوشته شده که مثلا اگر مینیمم "شماره سریال" خالی باشه و ماکزیمم برابر 200 باشه تا 200 نمایش میده
یا مثلا نوع بن اگر انتخاب نشه همه ی بن هارو میاره
تاریخ هم میخوام اینجوری تعریف شه
مثلا اگر مینیمم بشه 1390/09/20 و ماکزیمم خالی باشه از بیستم به بعد رو نمایش بده
آیا با کوئری همچین چیزی رو میشه پیاده کرد؟
ممنون میشم اگر اصلاح کنید فایلو

Rasool-GH
سه شنبه 29 آذر 1390, 20:53 عصر
چون ماهیت تاریخ شما تکست هست امکان اینکه مثل عدد با اون رفتار کنی و بگی ار فلان تاریخ بالاتر یا پایینتر رو لیست کنه وجود نداره . تنها راهی که به نظر من میرسه و من خودم در بنامم استفاده میکنم اینه که مقدار بالاترین فیلد رو به طور پیشفرض برابر با تاریخ جاری قرار بدی و مقدار پایینترین فیلد رو یا از کاربر بگیری یا پیشفرض یه مقدار کمتر از تاریخ روز باشه مثلا 30 روز و گزارش رو بگیری . اگه به دردت میخوره برات بزارم
البته دوستان که به برنامه نویسی مسلط هستن حتما راه بهتری پیشنهاد میکنن

ramin005
سه شنبه 29 آذر 1390, 20:54 عصر
برای تکمیل بحث کوئری عرض کنم که بنده با کد زیر

>=[forms]![search2]![text0] And <=[forms]![search2]![text2]
در کوئری میتونم نتیجه بگیرم اما متاسفانه هرکاری میکنم نمیتونم این کد رو وارد کدهای VB کنم

یه دلیل دیگه برای استفاده از وی بی به منظور هیلتر گزارشات اینه که دستم باز تر باشه برا اینکه در آینده اگه لازم شد هیلترای بیشتری اضافه کنم به گزارش
با این حال اگر بشه فایل بالا رو با کوئری اصلاح کرد لطفا اینکارو برام انجام بدید

سپاس از دوستان که منو راهنمایی میکنن

Rasool-GH
سه شنبه 29 آذر 1390, 21:11 عصر
همین کدی که قرار دادین برای کوئری کاملا صحیح است و نیاز به اصلاح ندارد
فیلتر کردن در کوئری محدودیتهایی را ایجاد میکنه که با کد های SQL خیلی مسائل حل میشه .
در VBA باید اقای امیری یا سایر دوستان و اساتید کمک کنن

ramin005
سه شنبه 29 آذر 1390, 21:15 عصر
چون ماهیت تاریخ شما تکست هست امکان اینکه مثل عدد با اون رفتار کنی و بگی ار فلان تاریخ بالاتر یا پایینتر رو لیست کنه وجود نداره

برای اینکه من بتونم از فرم جستجویی که در فایل پیوستی طراحی کردم استفاده کنم چه راه حلی پیشنهاد میکنید؟
البته تا یادم نرفته بگم که توی دیتابیس اصلی برنامه داره دیتا وارد میشه و نزدیک 400 رکورد داره و تاریخ هایی که تا این لحظه ثبت شده برام مهم است که از بین نره!

Rasool-GH
سه شنبه 29 آذر 1390, 21:42 عصر
ببین کارتو راه میندازه

Abbas Amiri
سه شنبه 29 آذر 1390, 22:13 عصر
عبارت فیلتر اصلاح شد

ramin005
چهارشنبه 30 آذر 1390, 00:21 صبح
آقای امیری واقعا خیلی خیلی ممنونم از شما
الان همه چی عالی کار میکنه فقط هیلتر نوع بن مشکل داره که وقتی انتخاب میشه خطای کد میگیره

ممنون میشم اگر این خطا رو هم رفع کنید
بسیار سپاسگزارم

Abbas Amiri
چهارشنبه 30 آذر 1390, 00:40 صبح
قسمت زیر را جایگزین کنید


If Not IsNull(Combobon) Then
stLinkCriteria = stLinkCriteria & "AND noebon='" & Combobon.Column(1) & "'"
End If

ramin005
چهارشنبه 30 آذر 1390, 08:21 صبح
بی نهایت از کمک شما سپاسگزارم
این مثال میتونه یه مثال خوب باشه برای کاربرانی مثل من که به تازگی با دنیای وی بی و اکسس آشنا شدن

javad130
سه شنبه 27 دی 1390, 10:43 صبح
تشکر فراوان از آقای عباس امیری بابت راهنمایی بسیا مفید:قلب:
موفق و پیروز باشی