PDA

View Full Version : فیلتر کردن رکورد ها بین دو تاریخ



nasimnastaran
دوشنبه 08 شهریور 1389, 11:09 صبح
با سلام
من فرمی از یک کوئری دارم و در این فرم میخوام رکورد ها را بین دو تاریخ که در یک TextBox کاربر آنرا وارد می کند ، فیلتر بشه . لطفا کسی کد اونو می تونه اینجا بنویسه .
با تشکر

linktaz
دوشنبه 08 شهریور 1389, 11:29 صبح
با سلام
من فرمی از یک کوئری دارم و در این فرم میخوام رکورد ها را بین دو تاریخ که در یک TextBox کاربر آنرا وارد می کند ، فیلتر بشه . لطفا کسی کد اونو می تونه اینجا بنویسه .
با تشکر
سلام
در این مورد توی انجمن زیاد مطلب هستش...
باید یک کوئری درست کنید و فیلد تاریخ رو وارد کنید و درقسمت شرط یکی از دو دستور زیر را وارد نمائید:




Between [forms]![name form]![text0] And [forms]![name form]![text2]


>= [forms]![name form]![text0] And <=[forms]![name form]![text2]


نام فرم خود را بجای name form و تاریخ شروع فیلتر را text0 تاریخ پایان فیلتر را text2قرار دهید
مانند ضمیمه

nasimnastaran
دوشنبه 08 شهریور 1389, 12:14 عصر
با سلام
از لطف جنابعالی ممنون ، دو سئوال در این مورد داشتم و آن اینه که :
1 - برای درست کردن Creteria در یک کوئری ، آیا Wizard ی وجود دارد یا باید این دستورات را بدونی .
2 - همچنین کدی که برای دکمه فیلتر نوشتید. البته توی Wizard ایجاد دکمه در بخش Category>Form Opertion یه چنین چیزی وجود دارد ولی کد اون فرق دارد .
بازم ممنون از پاسخ تان

linktaz
دوشنبه 08 شهریور 1389, 12:48 عصر
با سلام
از لطف جنابعالی ممنون ، دو سئوال در این مورد داشتم و آن اینه که :
1 - برای درست کردن Creteria در یک کوئری ، آیا Wizard ی وجود دارد یا باید این دستورات را بدونی .
2 - همچنین کدی که برای دکمه فیلتر نوشتید. البته توی Wizard ایجاد دکمه در بخش Category>Form Opertion یه چنین چیزی وجود دارد ولی کد اون فرق دارد .
بازم ممنون از پاسخ تان
-نخیر ،ویزاردی برای این مورد که شما ذکر کردید وجود ندارد. راستش در حد اطلاعاتم در قسمت Creteria ی کوئری هم دستورات محدودی رو میشه نوشت .در واقع گستردگی چندانی نداره.دستورات پیچیده در حیطه VBAهستش.
- اون دستور بصورت ویزارد ایجاد شده و البته از همون قسمتی که خودتون فرمودید
Category\Miscellaneous\Run Query
دستور فراخوانی کوئری در VBA :

DoCmd.OpenQuery "Query1" هستش که در فایل قرار داده شده است.

abdoreza57
شنبه 13 شهریور 1389, 13:09 عصر
گزارش از محدوده دو تاریخ به همراه مثال مشکل بنده اینجاست که تمام موارد مطابق راهنمایی های دوستان سایت می باشد اما با ثبت اطلاعات از داخل فرم تمام گزارشات وارد شده فراخوانی نمی شوند اما با وارد کردن این اطلاعات از داخل تیبل جواب درست است ؟!؟!؟1؟1
جالب بود ؟ نه ؟؟؟

http://www.barnamenevis.org/forum/attachment.php?attachmentid=55389&d=1283585511

abdoreza57
شنبه 13 شهریور 1389, 13:14 عصر
اینم نمونه

dadsara
شنبه 13 شهریور 1389, 13:52 عصر
سلام
دوست عزیز این بخاطر نوع Mask می باشد که جنابعالی روی فرم جستجو گذاشته اید و نوع Mask که روی جدول خود گذاشته اید اگر یک نگاهی به نوع فرمت تاریخهای درون جدول می انداختی این را متوجه می شدی

abdoreza57
شنبه 13 شهریور 1389, 14:08 عصر
شرمنده نگرفتم !!!
فرقی بازم نمی کنه این مورد را چند بار اصلاح کردم ولی نشد !
توضیح بده چطور حل میشه کرد؟؟

abdoreza57
شنبه 13 شهریور 1389, 14:36 عصر
به نمونه اصلاح شده توجه کن
در ضمن من یه برنامه خوب طراحی کردم که فقط به خاطر همین مشکل گذاشتم کنار

abdoreza57
شنبه 13 شهریور 1389, 22:01 عصر
سلام
دوست عزیز این بخاطر نوع Mask می باشد که جنابعالی روی فرم جستجو گذاشته اید و نوع Mask که روی جدول خود گذاشته اید اگر یک نگاهی به نوع فرمت تاریخهای درون جدول می انداختی این را متوجه می شدی
مار ز یاران چشم یاری داشتیم!!
لطف کن برام توضیح بده چرا حالا جوابش درست در نمی اید؟؟؟

abdoreza57
یک شنبه 14 شهریور 1389, 13:07 عصر
alirezabahrami (http://www.barnamenevis.org/forum/member.php?u=90573)
ضمن تشکر از ایشان روش کار از نقل قول است
فرم report براي دو تكست باكس (ورودي تاريخ ) input mask را بصورت 00/00/0000 وارد كن . در واقع بايد ورود تاريخ بصورت كامل صورت بگيرد.
حال اگه راه دیگه ای به ذهن می رسه برای سهولت ورود اطلاعات فرم گزارش کیری (report) دوستان نظر بدن
البته با نظر دوستمون علی رضا این کار ممکن شده است

nasimnastaran
دوشنبه 15 شهریور 1389, 13:32 عصر
با سلام
ببخشید که سئوال جدیدی برای من پیش اومد و اون اینکه من مطابق پیوست ، وقتی می خوام گزارش بگیرم ، از یه شرکت ( مثلا شرکت الف از تاریخ مثلا 01/01/1350 تا 1389/12/29 ) دو بار به دلیل اینکه SubTable اونو در دو تاریخ های جداگانه مقدار وارد کردم ، میاید . من می خوام جمع و مانده و ... هر شرکت تنها یک بار نشان داده بشه . لطفا راهنمایی بفرمایید چیکار باید کرد .
ضمنا Office من 2003 است

nasimnastaran
سه شنبه 16 شهریور 1389, 09:19 صبح
کسی نبود یه راهنمایی بکنه ؟

HAMRAHSOFT.IR
شنبه 07 اسفند 1389, 17:14 عصر
ببخشيد اين سوال مي پرسم شايد ولي هرچه فكر كردم به نتيجه نرسيدم و كفتم شايد سوال خيلي ها هم باشه

اگر محدود تاريخ را مشخص نكنيم و بخوايم كلي اطلاعت را نشون بديم بايد چطور عمل كنيم

يعني اگه مقداري با متغير ها پاس نداديم كلي اطلاعات نشون بده