是否有可能在ACCESS 2007中使所有其他人以只讀格式離開某個字段進行編輯? 我的表單上有大約40個控件,並且只能一個一個讀取,這樣會很不方便。我想有這些領域之一(選項組)編輯,這樣,當用戶選擇一個選項,整個形式變爲可編輯如何在Access 2007窗體中選擇性地編輯字段?
回答
你可以使用VBA程序來遍歷窗體的控件集合和每個控件的.Locked
屬性設置爲True
。檢查每個控件的.ControlType
屬性,並忽略這些標籤和命令按鈕的控件。 IOW,只爲那些有意義的控件類型設置.Locked
。
選項1
你可以做你想要鎖定的子窗體形式,把選項組的主要形式有:
例如:
Private Sub Form_Current()
Me.aTable_subform.Form.AllowAdditions = False
Me.aTable_subform.Form.AllowEdits = False
Me.aTable_subform.Form.AllowDeletions = False
End Sub
Private Sub PickOne_AfterUpdate()
Select Case Me.PickOne
Case 1, 3
Me.aTable_subform.Form.AllowAdditions = True
Me.aTable_subform.Form.AllowEdits = True
Me.aTable_subform.Form.AllowDeletions = True
Case 2
Me.aTable_subform.Form.AllowAdditions = False
Me.aTable_subform.Form.AllowEdits = True
Me.aTable_subform.Form.AllowDeletions = False
End Select
End Sub
其他註釋re comment
選項2
你可以有主窗體打開時打開彈出式UO形式。在這個例子的主窗體之前它將變得可見。
代碼的主要形式:
Private Sub Form_Close()
DoCmd.Close acForm, "popupform"
End Sub
Private Sub Form_Load()
DoCmd.OpenForm "popupform", , , , , acDialog
End Sub
Private Sub PickOne_BeforeUpdate(Cancel As Integer)
Select Case Me.PickOne
Case 1
If MsgBox("You chose this. Continue?", vbYesNo) = vbYes Then
Forms!mainform.AllowAdditions = True
Forms!mainform.AllowEdits = True
Forms!mainform.Form.AllowDeletions = True
''Setting the visibility leaves the form
''available but it is no longer a dialog form
''but you must remember to close it elsewhere
''If the form is not needed, just close it here
Me.Visible = False
Else
Cancel = True
End If
Case 2
''Whatever
End Select
End Sub
選項3
每個控制具有旨在用於由設計者標籤屬性,例如,您可以將「Admin」添加到需要鎖定的所有控件。喲必須使用加載事件,或以後的事件。
Private Sub Form_Load()
For Each ctrl In Me.Controls
''For example:
If ctrl.Tag = "Admin" And TheOption <> "Admin" Then
ctrl.Locked = True
End If
Next
End Sub
您就可以輕鬆擁有多個標籤,一個是說的管理員用戶或選項X,另一個爲其他用戶或OptionY。
這聽起來不錯。但是,我在主窗體本身和子窗體上有很多控件。在類似的路線上,如果我創建一個嵌入此選項組的子表單,我希望表單在從該選項組中選擇值時解鎖。 – user1175126 2013-03-28 10:20:30
不,它不能以這種方式工作,因爲子窗體也會被主窗體上的AllowEdits鎖定。 – Fionnuala 2013-03-28 11:22:12
我已經添加了一些其他選項。 – Fionnuala 2013-03-28 11:34:31
- 1. 如何編輯在zend窗體中選擇的html屬性?
- 2. 選擇Laravel窗體編輯
- 3. 是否可以在Access 2007中的SQL編輯窗口中更改字體?
- 4. 防止編輯MS Access中的特定子窗體字段
- 5. ACCESS 2007 - 如何打開VBA中的選擇窗口對話框
- 6. 在Access 2007中啓用組合框選擇的字段可見性
- 7. Rails窗體編輯中的選擇幫助編輯
- 8. Rails編輯窗體與選擇
- 9. 如何在窗體中編輯圖像字段drupal 7
- 10. 如何在嵌套窗體中定義選擇字段?
- 11. 在Access中實現多對多,子窗體,複選框2007
- 12. 我如何在MS WORD 2007中編輯表單字段值
- 13. 如何在Ms Access 2007中創建導航窗體
- 14. Access 2007報告 - 如何'unfix'字段?
- 15. 如何選擇性地禁用DataGrid中的編輯?
- 16. jqGrid - 在編輯窗體中設置選擇值
- 17. 如何繞過Access 2007中的啓動窗體?
- 18. Access 2007 - Docmd.OpenForm無法打開窗體,OpenArgs?
- 19. Html表單onsubmit在窗體中編輯文本字段?
- 20. 在窗體中不使用ID隱藏字段進行編輯?
- 21. 如何通過MS Access上的窗體編輯記錄?
- 22. MS Access 2007關鍵字在窗體內搜索生成報告
- 23. 如何在代碼編輯器中彈出jquery窗體編輯
- 24. 如何在Access 2007
- 25. Access 2007中的條件字段值
- 26. MS Access窗體字段顯示格式
- 27. 如何讓PyDev編輯器選擇性地忽略錯誤?
- 28. 編輯和不可編輯的輸入字段,然後選擇
- 29. 選擇性編輯距離
- 30. 如何在用戶從選擇框中選擇時將值加載到jqGrid的編輯窗體中
這將需要我列出所有需要鎖定在代碼中的控件的名稱,對吧? – user1175126 2013-03-28 10:22:07
我不明白你爲什麼需要列出控件名稱。下面是通過Controls集合循環的一個示例:http://stackoverflow.com/a/15349725/77335 – HansUp 2013-03-28 14:48:09