کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

ساخت باتن کشویی


بسیار ساده ولی پر دردسر 


      Btn0        Bt t1

Btn1        Btnt2

Btn2       Btnt3

Btnt4                   



طبق نام های بالا  کنترل هایی از نوع باتن  در فرم ساخته شده در کنار هم و زیر هم دقیقا مثل موارد فوق الذکر، تابعی نوشته شد که در زمان اتفاق افتادن رویدادکلیک باتنی از باتن های سمت چپ   کل باتن های سمت راست به زیر آن انتقال یابد .


 Function Btn(Bt As Control3) As Doble

For i=1 to 4

Controls("Btnt" & i).Left=Bt.Left+300

 موقعیت پراپرتی TOP هر یک از کنترل های سمت راست میشود ( فرضا Btnt1 میشود Btn0.Top به اضافه ی عرضش و Btnt2 میشود Btn0.Top + Btn.Height +Btnt2.Height

Controls("Btnt" & i).Top=Bt.Top+Bt.Height+(i-1)*Controls("Btnt" & i).Height

(Btn=Controls("Btnt4".Top

Next


یا بصورت زیر 


Function Btn(Bt As Control) As Double

b = Bt.Top

For i = 1 To 4

Controls("Btnt" & i).Left = Btn0.Left+300

Controls("Btnt" & i).Top = b + Controls("Btnt" & i).Height * i

Btn = Controls("Btnt" & i).Top

Next

End Function


چنانچه هر یک Toppadding خودش را داشته باشه فرضا بین باتن های سمت راست هر کدام فواصل متغیری باشد باید آنها را هم در نظر بگیرید ولی معمولا باتن ها را بهم بچسبانید تا نیاز به کد نویسی اضافه تری نباشد.


در رویداد کلیک Btn0 میتوان نوشت که اولا Btnt ها زیر آن بیاید و Btn1 و Btn2 در زیر Btnt ها قرار گیرد 


()Private Sub Btn0_Click

Btn1.Top = Btn(Btn0) + Btnt4.Height

Btn2.Top = Btn1.Top + Btn1.Height

End Sub


()Private Sub Btn1_Click

Btn1.Top=Btn0.Top+Btn0.Height

(Btn2.Top=Btn(Btn1

End Sub 


()Private Sub Btn2_Click

Btn1.Top = Btn0.Top + Btn0.Height

Btn2.Top=Btn1.Top+Btn0.Height

(Call Btn(Btn2

End Sub



تست شده طبق فایل GIF زیر ، نام ها در کپشن باتن ها نوشته شد تا گیج کننده نباشد.