是否有可能在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. 選擇Laravel窗體編輯
- 2. 是否可以在Access 2007中的SQL編輯窗口中更改字體?
- 3. ACCESS 2007 - 如何打開VBA中的選擇窗口對話框
- 4. 在Access 2007中啓用組合框選擇的字段可見性
- 5. Rails窗體編輯中的選擇幫助編輯
- 6. 如何在窗體中編輯圖像字段drupal 7
- 7. 如何在嵌套窗體中定義選擇字段?
- 8. 在Access中實現多對多,子窗體,複選框2007
- 9. Access 2007報告 - 如何'unfix'字段?
- 10. 如何選擇性地禁用DataGrid中的編輯?
- 11. 如何繞過Access 2007中的啓動窗體?
- 12. Access 2007 - Docmd.OpenForm無法打開窗體,OpenArgs?
- 13. 如何在代碼編輯器中彈出jquery窗體編輯
- 14. MS Access 2007關鍵字在窗體內搜索生成報告
- 15. MS Access窗體字段顯示格式
- 16. 如何讓PyDev編輯器選擇性地忽略錯誤?
- 17. 選擇性編輯距離
- 18. 如何在用戶從選擇框中選擇時將值加載到jqGrid的編輯窗體中
- 19. 如何編輯的文本字段jQuery的日期選擇器
- 20. 如何選擇窗體頁
- 21. 在窗體嚮導中設置字段的選擇?
- 22. 編輯任何字段值後的更新窗體AngularJs
- 23. 在Sharepoint 2010編輯窗體上隱藏字段
- 24. 編輯窗體選定的值輸入
- 25. 如何停止窗體字段在引導窗體中移動
- 26. 在Access 2007中再次使隱藏窗體可見
- 27. MS Access 2007:選擇唯一記錄
- 28. Xcode字體選擇器窗口無法選擇字體集合
- 29. MS-Access避免從窗體字段文檔導入空字段
- 30. 來自Textbox的MS Access選擇字段
這將需要我列出所有需要鎖定在代碼中的控件的名稱,對吧? – user1175126 2013-03-28 10:22:07
我不明白你爲什麼需要列出控件名稱。下面是通過Controls集合循環的一個示例:http://stackoverflow.com/a/15349725/77335 – HansUp 2013-03-28 14:48:09