مبحث فیلتر کردن فرم ها یکی از مهم ترین مباحث در نرم افزار اکسس می باشد.تابحال امکانات و ابزار های زیادی توسط مایکروسافت و سیار شرکت ها برای ساده کردن این کار ارائه داده شده است.حال میخواهیم با استفاده از کومبوباکس فرم را فیلتر کنیم،همراه ما باشید…
فرض می کنیم دیتابیسی داریم با دو جدول مانند شکل زیر:
اگر ما فرمی طراحی کنیم که Tbl_Room به عنوان فرم مادر و Tbl_Room_s به عنوان فرم فرزند در آن قرار داشته باشد و بخواهیم با قرار دادن یک Textbox در فرم مادر ، فرم فرزند را فیلتر کنیم باید مراحل ذیل را دنبال کنیم:
به دو روش استفاده از ماکرو و استفاده از کدهای VBA این امکان فراهم شده است.
فیلتر کردن سابفرم توسط کدهای VBA اکسس
- یک Textbox با نام Text1 در فرم اصلی قرار می دهیم
- Text1 را انتخاب کرده و از قسمت Property سمت راست در تب Event در قسمت رویداد After Update کد زیر را می نویسیم:
DoCmd.ApplyFilter , “[id]=forms!frm_room![text1]”
فیلتر کردن زیرفرم توسط ماکرو Macro در اکسس
- یک Textbox با نام Text2 در فرم اصلی قرار می دهیم
- Text1 را انتخاب کرده و از قسمت Property سمت راست روی سه نقطه کلیک کرده و Macro Builder کلیک میکنیم.
- دستور Setfilter را نوشته و مانند تصویر زیر ماکرو را ایجاد کرده و ذخیره می کنیم.
حال فرض کنید که در یک فرم که از نوع Continuous Forms داریم و می خواهیم نام اطاقها را بر اساس نوشته وارد شده در یک تکست باکس فیلتر کنیم .دقت کنید نمی خواهیم دقیقا مشابه باشد بلکه می خواهیم وقتی در تکست باکس مقداری از متن را وارد کردیم تمام نام اطاقهایی که شامل متن وارد شده در تکست باکس باشد نمایش داده شود.
باید به ترتیب ذیل عمل نمائید:
فیلتر کردن فرم در اکسس توسط ماکرو Macro
- یک Textbox با نام Text6 در فرم قرار می دهیم .
- Text6 را انتخاب کرده و از قسمت Property سمت راست روی سه نقطه کلیک کرده و Macro Builder کلیک میکنیم.
- دستور Setfilter را نوشته و مانند تصویر زیر ماکرو را ایجاد کرده کد زیر را درون ماکرو قرار داده و ذخیره می کنیم .
نکته : کد زیر نمونه ای از روش فیلتر کردن بر اساس بخشی از نام یک تکست باکس است که در کوئریها هم کاربرد دارد . (فیلتر کردن با Like در اکسس)
[Room_Name] Like “*” & [Forms]![Form1]![Text6] & “*”
ویدیوی زیر را تماشا کنید تا مبحث فیلتر کردن سابفرم توسط کومبوباکس را بهتر درک نمائید.
سلام
من میخوام یک گزارش رو فیلتر کنم
البته بر اساس محتویات تکست باکس که مقادیرش فقط عدد هست
این رو هم بگم که این تکست باکس مقدارش رو از کوئری نمیگیره
بلکه از محاسباتی که داخل خود گزارش انجام شده، میگیره
چیزی هم که قراره با اون این تکست باکس رو فیلتر کنم یک آپشن گروپ هست
کد من به شرح زیر هست:
Select Case Form_frm_print.fram_mali.Value
Case 2
DoCmd.ApplyFilter , Me.txtTasvieh = 0
Case 3
DoCmd.ApplyFilter , Me.txtTasvieh > 0
Case 4
DoCmd.ApplyFilter , Me.txtTasvieh < 0
End Select
ممنون میشم راهنمایی داشته باشید
نم.نه رو باید ببینم
متاسفانه ارسال نمونه یکم برام مشکله
میشه خودتون چندتا کد رو به عنوان نمونه ارسال کنید؟
من میخوام در رویداد open یک گزارش، با توجه به مقدار موجود در یک تکست باکس که عدد هست، این گزارش رو فیلتر کنم.
بسیار عالی و سپاس از راهنمایی خوبتون
با عرض سلام و خداقوت
ممنون از آموزش های بسیار زیبا و مفید تون
من یک سوالی دارم
چطوری میتونم در یک فرم و زیر فرم ، وقتی در زیر فرم رکورد جدیدی میخواهم ثبت کنم ، نیازی نباشه Id فرم قبلی رو خودم به صورت دستی وارد کنم …..
میخوام خود نرم افزار این کار رو برام انجام بده
با تشکر فراوان
مقدار پیش فرض اون فیلد رو برابر با تکست باکس فرم مد نظرتون قرار بدین
سلام من همین کار هارو انجام میدم ولی مجدد پنجره ای به شکل باز میشه ! چکار کنم
http://s8.picofile.com/file/8330287368/EPV.JPG
آدرس text33 رو باید کامل بدین
سلام
در یک فرم سه لایه، در سابفرم دوم، چطوری یک کمبو باکس را براساس یه کمبوباکس دیگه فیلتر کنیم
؟
باتشکر
درود بر شرفت مرد
بسیار عالی و ممنون بخاطر تمام زحماتی که میکشید
با سلام و احترام
دقیقا گیر همین مسئله بودم و نجاتم دادین
متشکرم
خوشحالم که پاسختون رو تو آفیس باز پیدا کردین 😉
من ی جدول دارم که دوتا از فیلد هاشو(فیلد آِی دی کد و فیلد توضیحات ) از یه جدول مادر میگیره(کامبو باکس ) حالا میخوام زمانی که آی دی کدو انتخاب کردم فیلد توضیحات مربوط به خودش تو جدول اتومات انتخاب شه و نیاز به انتخاب نداشته باشم .
ممنونم اگه کمکم کنید .
با تشکر
سلام.
من چند نمونه از برنامه های شما رو خریداری کردم واقعا عالیه و کاربردی هستن.
الان یه مشکلی دارم درست کردن لیست کشویی وابسته به هم توی فرم رو بلدم ولی مشکل اینجاس که توی ساب فرم میخوام درس کنم که توی ساب فرم جواب نمیده خواستم ببینم فرقی داره که توی فرم باشه یا ساب فرم؟ممنون میشم راهنمایی کنید.
با سلام خدمت استاد عزیز و تشکر از زحمات شما ، سئوالی که بنده دارم در خصوص فرمهایی می باشد که یک علامت + یا فلش در کنار یک رکورد وجود دارد و با کلیک آن علامت زیر فرم و اطلاعات ساب فرم در زیر همان رکورد نمایش داده می شود . مانند table یا کوئری که در اکسس وجود دارد و با هم ارتباط یک یه چند دارند . چگونه می شود یک ” فرم ” با این شکل و روش ایجاد نمود . راهنمایی فرمایید یا نمونه فرم ارسال نمایید بسیار متشکر می شوم .
با سلام خدمت شما
در همین آموزش چگونه منوی Design view اولین جدول رو راست چین کردید؟
سلام تو قسمت تنظیمات و Client Setting