我在Microsoft Access中有一个数据库,我为其设计了一个前端。大约有35个表单/子表单,因此有数百个控件。我有一个整个前端的审计结构,但它需要为每个文本框控件添加一个标记。
有一种简单的方法吗?否则它将非常手动,乏味且耗时。我宁愿写一些代码来自动化为所有文本框控件设置标记的过程。
答案 0 :(得分:0)
您可以在单一表单中使用以下代码:
Public Sub AssignTag()
Dim control As Variant
For Each control In Me.Controls
If control.ControlType = acTextBox Then
control.Tag = "MyTag"
End If
Next
End Sub
然后你必须在布局视图中打开表单,更改内容,保存表单,并可能更改事物,以使更改棒(使用VBA更改控件不会持久,除非您进行其他更改在布局视图中)。
答案 1 :(得分:0)
循环浏览AllForms
,在设计模式下打开每个Form
,将标记设置为所有TextBox
控件,保存并退出。
Public Sub SetControlsTag()
On Error GoTo ErrProc
Dim obj As AccessObject, frm As Form, ctl As Control
For Each obj In CurrentProject.AllForms
'Open in design mode
DoCmd.OpenForm CurrentProject.AllForms(obj.Name).Name, acDesign
Set frm = Forms(obj.Name)
'Set tags
For Each ctl In frm.Controls
If ctl.ControlType = acTextBox Then ctl.Tag = "Whatever..."
Next ctl
'Close
DoCmd.Close acForm, frm.Name, acSaveYes
Set frm = Nothing
Next obj
Leave:
Set frm = Nothing
On Error GoTo 0
Exit Sub
ErrProc:
MsgBox Err.Description
Resume Leave
End Sub