PDA

View Full Version : حرفه ای: اکسس/vba/چگونه میتوان در هنگام ورود همه کنترل های داخل یک فرم را پنهان کرد؟



narpco
پنج شنبه 11 بهمن 1397, 12:46 عصر
اکسس/vba/چگونه میتوان در هنگام ورود همه کنترل های داخل یک فرم را پنهان کرد؟
یعنی visible در حالت false باشد بعد با کنترل هر شرط دلخواه .....کنترل دلخواه نمایش داده شود البته بیشت مشکل من همون بخش اول هست ...
کد های زیادی رو تو سطح وب تست کردم عملا عمل نمی کنن..یا در فرم هایی با کارکرد عادی کارمی کنن
ولی روی فرم هایی که در هنگام ورود اطلاعاتی را واکشی می کنن کار نمی کنن
مثلا فرمی داریم که در هنگام ورود تاریخ روز را باید بخواند و در یک تکست باکس نمایش دهد
وقتی این کد را می گذاریم چون در حال واکشی اطلاعات هست کارنخواهد کرد.بسیار ممنون میشم اگر کسی میتونه به من کمک کنه ....کد برای اکسس 2013 مورد نیاز است .با سپاس
نمونه کد
For Each ctl in Me.Controls
ctl.Visible = False
Next ctl

saeed1234n
جمعه 12 بهمن 1397, 11:51 صبح
سلام

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

یعنی تگ اونها رو برابر مقداری قرار می دید بعد مطابق شرط هاتون اونها رو مورد ارزیابی قرار می دید

از یه همچون کدی استفاده کنید:





For Each ctrl In Screen.ActiveForm
If ctrl.Tag = "1" Then
ctrl.Visible = True


Else
ctrl.Visible = False
End If
Next ctrl