PDA

View Full Version : خالی شدن Check Box بعد از بستن فرم



vivapersian@hotmail.com
چهارشنبه 25 دی 1398, 22:15 عصر
سلام
چطور میشه چک باکس هایی که در رکوردهای فرم هستند با بسته شدن، از حالت انتخاب خارج بشن؟؟؟

ARData
پنج شنبه 26 دی 1398, 10:11 صبح
این کار هم از طریق فرم و با تایمر و هم از طریق کدهای Dao امکان پذیر می باشد
اینم نمونه فایل :

vivapersian@hotmail.com
پنج شنبه 26 دی 1398, 13:54 عصر
این کار هم از طریق فرم و با تایمر و هم از طریق کدهای Dao امکان پذیر می باشد
اینم نمونه فایل :

از راهنماییتون خیلی ممنونم
ولی من میخوام فقط چک باکس هایی (با بستن فرم یا زدن دکمه خاصی) خالی بشن که توسط کوئری فیلتر شدن و به کاربر نشان داده میشن.

لطفا تغییرات رو روی فایل زیر اعمال کنید
151262

vivapersian@hotmail.com
شنبه 28 دی 1398, 22:25 عصر
از راهنماییتون خیلی ممنونم
ولی من میخوام فقط چک باکس هایی (با بستن فرم یا زدن دکمه خاصی) خالی بشن که توسط کوئری فیلتر شدن و به کاربر نشان داده میشن.

لطفا تغییرات رو روی فایل زیر اعمال کنید
151262

دوستان کسی راهکاری نداره

mazoolagh
یک شنبه 29 دی 1398, 08:48 صبح
شما دو راه دارین:

1- تمام رکوردهای recordset فرم رو پیمایش و تغییرات مورد نظر رو اعمال کنین (درست هست و کار میکنه ولی روش خوبی نیست!)

2- با استفاده از Recordsource و filter فرم تمام تغییرات رو یکجا اعمال کنین.

در هر صورت بهتره یک روتین (sub یا function) بنویسین و هر جا نیاز هست (form close یا button click) اون رو call کنین.

mazoolagh
یک شنبه 29 دی 1398, 08:55 صبح
روش دوم:

اگر فرم فیلتر شده باشه filteron برابر True هست و filter هم عبارت شرط (معادل where در select) رو نشون میده.
پس خیلی ساده :

docmd.runsql "UPDATE " & recordsource & " SET FieldName=False" & iif(filteron, " WHERE " & filter, "")
requery

mazoolagh
یک شنبه 29 دی 1398, 08:59 صبح
روش اول:
هرچند که این روش خوبی نیست ولی به هر حال دونستنش نکات سودمندی داره.

سر فرصت دلیلش رو توضیح میدم و اینکه چجوری اون رو برطرف کنیم رو هم میگم.

mazoolagh
یک شنبه 29 دی 1398, 09:01 صبح
این کار هم از طریق فرم و با تایمر و هم از طریق کدهای Dao امکان پذیر می باشد
اینم نمونه فایل :

چرا تایمر؟!

vivapersian@hotmail.com
شنبه 05 بهمن 1398, 05:25 صبح
روش دوم:

اگر فرم فیلتر شده باشه filteron برابر True هست و filter هم عبارت شرط (معادل where در select) رو نشون میده.
پس خیلی ساده :

docmd.runsql "UPDATE " & recordsource & " SET FieldName=False" & iif(filteron, " WHERE " & filter, "")
requery

سلام
خیلی ممنون بابت راهنمایی
ولی فیلتر فرم توسط کوئری خود اکسس انجام میشه. اگه ممکنه با این شرایط راهنمایی بفرمایید؟؟
باتشکر

mazoolagh
یک شنبه 06 بهمن 1398, 08:59 صبح
بخش مربوط به filter رو کلا حذف کنین (iif)

vivapersian@hotmail.com
چهارشنبه 09 بهمن 1398, 23:47 عصر
از راهنماییتون خیلی ممنونم
ولی من میخوام فقط چک باکس هایی (با بستن فرم یا زدن دکمه خاصی) خالی بشن که توسط کوئری فیلتر شدن و به کاربر نشان داده میشن.

لطفا تغییرات رو روی فایل زیر اعمال کنید
151262


بخش مربوط به filter رو کلا حذف کنین (iif)

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

vivapersian@hotmail.com
پنج شنبه 17 بهمن 1398, 18:48 عصر
سلام
من هر کار میکنم کد بالا جواب نمیده میشه راهنمایی بفرمایید