فیلتر کردن ساب فرم توسط کومبو باکس در اکسس

نحوه فیلتر کردن زیر فرم با استفاده از کومبوباکس در قالب اکسس

فیلتر کردن ساب فرم توسط کومبو باکس در اکسس

مبحث فیلتر کردن فرم ها یکی از مهم ترین مباحث در نرم افزار اکسس می باشد.تابحال امکانات و ابزار های زیادی توسط مایکروسافت و سیار شرکت ها برای ساده کردن این کار ارائه داده شده است.حال میخواهیم با استفاده از کومبوباکس فرم را فیلتر کنیم،همراه ما باشید…

فرض می کنیم دیتابیسی داریم با دو جدول مانند شکل زیر:

ارتباط یک به چند در اکسس
ارتباط یک به چند در اکسس

 

اگر ما فرمی طراحی کنیم که Tbl_Room به عنوان فرم مادر و Tbl_Room_s به عنوان فرم فرزند در آن قرار داشته باشد و بخواهیم با قرار دادن یک Textbox در فرم مادر ، فرم فرزند را فیلتر کنیم باید مراحل ذیل را دنبال کنیم:

به دو روش استفاده از ماکرو و استفاده از کدهای VBA این امکان فراهم شده است.

فیلتر کردن سابفرم توسط کدهای VBA اکسس

  1. یک Textbox با نام Text1 در فرم اصلی قرار می دهیم
  2. Text1 را انتخاب کرده و از قسمت Property سمت راست در تب Event در قسمت رویداد After Update کد زیر را می نویسیم:

DoCmd.ApplyFilter , “[id]=forms!frm_room![text1]”

فیلتر کردن زیرفرم توسط ماکرو Macro در اکسس

  1. یک Textbox با نام Text2 در فرم اصلی قرار می دهیم
  2. Text1 را انتخاب کرده و از قسمت Property سمت راست روی سه نقطه کلیک کرده و Macro Builder کلیک میکنیم.
  3. دستور Setfilter را نوشته و مانند تصویر زیر ماکرو را ایجاد کرده و ذخیره می کنیم.
فیلتر کردن فرم توسط ماکرو
فیلتر کردن فرم توسط ماکرو

حال فرض کنید که در یک فرم که از نوع Continuous Forms داریم و می خواهیم نام اطاقها را بر اساس نوشته وارد شده در یک تکست باکس فیلتر کنیم .دقت کنید نمی خواهیم دقیقا مشابه باشد بلکه می خواهیم وقتی در تکست باکس مقداری از متن را وارد کردیم تمام نام اطاقهایی که شامل متن وارد شده در تکست باکس باشد نمایش داده شود.

باید به ترتیب ذیل عمل نمائید:

فیلتر کردن فرم در اکسس توسط ماکرو Macro

  1. یک Textbox با نام Text6 در فرم قرار می دهیم .
  2. Text6 را انتخاب کرده و از قسمت Property سمت راست روی سه نقطه کلیک کرده و Macro Builder کلیک میکنیم.
  3. دستور Setfilter را نوشته و مانند تصویر زیر ماکرو را ایجاد کرده کد زیر را درون ماکرو قرار داده و ذخیره می کنیم .

نکته : کد زیر نمونه ای از روش فیلتر کردن بر اساس بخشی از نام یک تکست باکس است که در کوئریها هم کاربرد دارد . (فیلتر کردن با Like در اکسس)

[Room_Name] Like “*” & [Forms]![Form1]![Text6] & “*”

ویدیوی زیر را تماشا کنید تا مبحث فیلتر کردن سابفرم توسط کومبوباکس را بهتر درک نمائید.

 

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

18 دیدگاه دربارهٔ «نحوه فیلتر کردن زیر فرم با استفاده از کومبوباکس در قالب اکسس»

  1. سلام

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

    این رو هم بگم که این تکست باکس مقدارش رو از کوئری نمیگیره
    بلکه از محاسباتی که داخل خود گزارش انجام شده، میگیره

    چیزی هم که قراره با اون این تکست باکس رو فیلتر کنم یک آپشن گروپ هست
    کد من به شرح زیر هست:

    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

    ممنون میشم راهنمایی داشته باشید

      1. متاسفانه ارسال نمونه یکم برام مشکله
        میشه خودتون چندتا کد رو به عنوان نمونه ارسال کنید؟
        من میخوام در رویداد open یک گزارش، با توجه به مقدار موجود در یک تکست باکس که عدد هست، این گزارش رو فیلتر کنم.

  2. با عرض سلام و خداقوت
    ممنون از آموزش های بسیار زیبا و مفید تون
    من یک سوالی دارم
    چطوری میتونم در یک فرم و زیر فرم ، وقتی در زیر فرم رکورد جدیدی میخواهم ثبت کنم ، نیازی نباشه Id فرم قبلی رو خودم به صورت دستی وارد کنم …..
    میخوام خود نرم افزار این کار رو برام انجام بده
    با تشکر فراوان

  3. سلام
    در یک فرم سه لایه، در سابفرم دوم، چطوری یک کمبو باکس را براساس یه کمبوباکس دیگه فیلتر کنیم
    ؟
    باتشکر

  4. من ی جدول دارم که دوتا از فیلد هاشو(فیلد آِی دی کد و فیلد توضیحات ) از یه جدول مادر میگیره(کامبو باکس ) حالا میخوام زمانی که آی دی کدو انتخاب کردم فیلد توضیحات مربوط به خودش تو جدول اتومات انتخاب شه و نیاز به انتخاب نداشته باشم .
    ممنونم اگه کمکم کنید .
    با تشکر

  5. سلام.
    من چند نمونه از برنامه های شما رو خریداری کردم واقعا عالیه و کاربردی هستن.
    الان یه مشکلی دارم درست کردن لیست کشویی وابسته به هم توی فرم رو بلدم ولی مشکل اینجاس که توی ساب فرم میخوام درس کنم که توی ساب فرم جواب نمیده خواستم ببینم فرقی داره که توی فرم باشه یا ساب فرم؟ممنون میشم راهنمایی کنید.

  6. علی صمدی خانقاه

    با سلام خدمت استاد عزیز و تشکر از زحمات شما ، سئوالی که بنده دارم در خصوص فرمهایی می باشد که یک علامت + یا فلش در کنار یک رکورد وجود دارد و با کلیک آن علامت زیر فرم و اطلاعات ساب فرم در زیر همان رکورد نمایش داده می شود . مانند table یا کوئری که در اکسس وجود دارد و با هم ارتباط یک یه چند دارند . چگونه می شود یک ” فرم ” با این شکل و روش ایجاد نمود . راهنمایی فرمایید یا نمونه فرم ارسال نمایید بسیار متشکر می شوم .

پیمایش به بالا