ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
به نوشتارهای زیر دقت کنید تا فرمول ارجاعات به کنترل ها یا پراپرتی کنترل ها در هر جایی از فرم و سابفرم های تو در تو که قرار دارید را متوجه شوید.
اگر در MainForm یا فرم اصلی هستید :
اشاره به پراپرتی Enabled کنترل در فرم اصلی
Me!ControlName.Enabled
اشاره یا ارجاع به پراپرتی کنترل در سابفرم ۱
Me!Subform1.Form!ControlName.Enabled
اشاره به پراپرتی کنترل سابفرم ۲ که مجموعه سابفرم ۱ است
Me!Subform1.Form!Subform2.Form!ControlName.Enabled
اگر در سابفرم ۱ هستید :
ارجاع به پراپرتی کنترل در فرم مادر یا فرم اصلی
مثال زیر با استفاده از ویژگی Form به کنترلی در زیرفرم اشاره می کند
اشاره به کنترلی در زیرفرم
فرم اصلی : Orders
زیر فرم : OrderDetails
کنترل در زیرفرم : TotalAmount
از فیلد RecordId سابفرم با نام SubChildForm f استفاده شده تا در یکسری توابع در فرم استفاده شود
چگونگی اشاره به یک کنترل در سابفرم درون فرم اصلی :
Forms!mainform!subform.Form.controlname.property
Me!subform.Form.controlname.property
ارجاع به پراپرتی Visibe و Locked کنترل ctlStateTax در سابفرم با نام subfrmOrders داخل فرم اصلی frmCustomer
Forms("frmCustomer").subfrmOrders.Form.ctlStateTax.Visible = False
Forms("frmCustomer").subfrmOrders.Form.ctlStateTax.Locked
Nested Subform
اشاره به کنترل cboType در سابفرم تو در تو
فرم اصلی : IncidentDetails
سابفرم درون فرم اصلی : CtrlLogDetail
سابفرم درون سابفرم اول : ctrlType
کنترل داخل سابفرم دوم : cboType
Forms!frmMain!sub1.Form!sub2.Form!sub3.Form.AllowEdits = False
فرم اصلی : frmMain
سابفرم ۱ : Sub1
سابفرم ۲ داخل ساب ۱ : Sub2
سابفرم ۳ داخل ساب ۲ : Su 3
Public WithEvents txt1 As Access.TextBox
Private frm2 As Access.Form
Public Property Get sFrm() As Access.Form
Set sFrm = frm2
End Property
Public Property
Set sFrm(ByRef frmValue As Access.Form)
Set frm2 = frmValue
End Property
Private Sub txt1_AfterUpdate()
----------------------------------------------
Function Animate() Dim frmSplash as Form Dim i as Integer DoCmd.OpenForm "Splash" Set frmSplash = Forms("Splash") For i = 1 To 20 frmSplash(i).Visible = True frmSplash(i-1).Visible = False DoCmd.RepaintObject Next End Function
---------------------------------------------
Public Function LockEmAll(bLock As Boolean)
Dim frm As Form
For each frm in Forms
Call LockEm(frm, bLock)
Next
Set frm = Nothing
End Function
Private Function LockEm(frm As Form, bLock As Boolean)
Dim ctl As Control
With frm
If .Dirty Then
.Dirty = False
End If
.AllowEdits = bLock
.AllowDeletions = bLock
.AllowAddtions = bLock
For each ctl In .Controls
If ctl.ControlType = acSubForm Then
Call LockEm(ctl.Form, bLock)
End If
Next
End With
End Sub