将值插入以前的空字段,锁定它们

时间:2016-03-01 16:11:50

标签: vba

我在MS Access 2013中工作,我想为我在表单上创建的按钮编写一些VBA代码。我希望代码做两件事:将我指定的值插入空字段并锁定表单中的所有字段。

acCmdFreezeColumn似乎不合适,因为它没有引用表单。我目前的想法是使用这个框架:

Sub buttonLockForm1_Click()

Dim intResponse As Integer

intResponse = MsgBox( _
    Prompt:="Are you sure you want to lock the form?", _
    Buttons:=vbYesNo + vbQuestion + vbDefaultButton2, _
    Title:="Lock the Form?")

If intResponse = vbYes Then
 ...
 ...

Else: If intResponse = vbNo Then Exit Sub

End If

End Sub

非常感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

我猜测你是指表单上的控件(比如文本框)。 VBA btw中的空字符串和空字符串是不同的。把它放在你的if里面(显然是Dim在顶部)

Dim ctl As Control
For Each ctl In Me.Controls
    if isnull(ctl.Value) or ctl.value = "" then _
        ctl.value = "Value I want to save"
    if ctl.name <> "Name of control I don't want to lock, like buttons" then _
        ctl.enabled = false
Next ctl

controlname.enabled = false使控件变灰并锁定它。您还可以使用controlname.visible = false使其不可见,并使用controlname.locked = false使其仍为白色bg,但将其锁定以禁用编辑。