اگر بخواهید کنترلهای یک فرم که از نوع تسکت باکس اکسس هستند را خالی کنید ، دو روش پیش رو خواهید داشت که یکی برای فرمهایی با اطلاعات کم و دیگری برای فرمهایی مناسب است که دارای کنترلهای بیشتری می باشد ، در ادامه متوجه تفاوت این دو با هم خواهید شد.
خالی کردن تمام تکست باکسها روش اول
فرم خود را در نمای طراحی باز کنید .
در رویداد OnClick یکی از دکمه ها و یا رویداد دلخواه خود کدهای زیر را وارد کنید .
Me.Text1 = Null Me.Text2 = Null Me.Text3 = Null Me.Text4 = Null
البته کدهای بالا زمانی کاربرد دارند که نام در فرم شما مشابه نامهای بالا بوده و دکمه هم در همان فرم باشد .
و برای زمانی مناسب است که یا تکست باکسهای شما تعدادشان کم است و یا می خواهید برخی از آنها خالی شوند.
روش دوم خالی کردن تسکت باکس اکسس
این روش هم معمولا زمانی به کار می رود که شما از Recordset و یا دستورات Sql برای ورود دیتا به جداول استفاده کرده اید و می خواهید بعد از ورود داده های ، تمام تکست باکسها خالی شوند ، و البته فرم شما مانند تصویر زیر دارای تعداد زیادی کنترل از نوع تکست باکس باشد . معمولا در برنامه هایی که تحت اکسس نوشتم از این روش استفاده می شود.
- وارد نمای طراحی فرم شوید
- در رویداد دلخواه وارد قسمت کدنویسی شوید ، با زدن کلیدهای Alt+F11 می توانید این کار را انجام دهید.
- کدهای زیر را در آنجا قرار دهید.
Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then If Not (IsNull(ctl.Value) Or ctl.Value = "") Then ctl.Value = Null End If End If Next ctl
توضیح کدهای به کار رفته تکست باکس اکسس
- خط اول یک متغیر از نوع کنترل ایجاد می کند که می توانیم هر کنترلی را به آن اختصاص دهیم.
- در خط دوم حلقه تکرار For و Next استفاده شده است.
- خط سوم بررسی می کند که هر یک از کنترلها از لحاظ ماهیت بررسی شود و اگر تکست باکس یود.
- و ضمنا اگر خالی نبود ، در خط پنجم مقدار آن Null یا خالی در نظر گرفته شود.
با سلام
این کد واسه کنترلهایی که دارای input هستن کاربرد نداره