View Single Post
  #2  
Old February 11th, 2010, 09:47 AM posted to microsoft.public.access.forms
Allen Browne
external usenet poster
 
Posts: 11,706
Default Lock/unlock form button

Take a look at this article:
Locking bound controls on a form and subforms
at:
http://allenbrowne.com/ser-56.html

You copy the code from the webpage into a standard module, and set your
form's On Load property to:
=LockBoundControls([Form],True)
You can optionally add the name of any controls that should not be locked
inside the brackets as well, in quotes and separated by commas. So, if you
want Combo1 to remain unlocked at all times, use:
=LockBoundControls([Form],True, "Combo1")

The code automatically locks any subforms you have on your form (nested to
any depth.)

--
Allen Browne - Microsoft MVP. Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.


"Rlong" u58125@uwe wrote in message news:a372eecf4d5db@uwe...
I've successfully created a button that locks/unlocks all the fields in a
form. In addition, it keeps all fields unlocked during initial record
creation, but requires the user to use the button whenever any fields in
the
form are edited. This was accomplished by following the instructions and
code
(see pasted at bottom of this post) at the following web address under
"Double-Action Command Button" posted on 3/28/08:

http://www.msaccesstips.com/labels/m...%20forms.shtml

This does almost exactly what I want, but I'd like to have one of the
fields
on the form (a combo box field that looks up and returns a given record in
the rest of the form) not lock each time. That is, I'd like it to remain
unlocked and available for repeat use without having to click the
lock/unlock
button each time. Is this possible?

Thanks


The code portion of the application is as follows:

Private Sub Form_Current()
If Me.NewRecord Then
With Me
.cmdEdit.Caption = "Edit"
.cmdEdit.ForeColor = 0
.cmdEdit.FontBold = False
.AllowEdits = True
.cmdEdit.Enabled = False
End With
Else
With Me
.AllowEdits = False
.cmdEdit.Caption = "Edit"
.cmdEdit.ForeColor = 0
.cmdEdit.FontBold = False
.cmdEdit.Enabled = True
End With
End If

End Sub


AND


Private Sub cmdEdit_Click()
Dim cap As String
cap = Me.cmdEdit.Caption
Select Case cap
Case "Edit"
With Me
.AllowEdits = True
.cmdEdit.Caption = "Lock"
.cmdEdit.ForeColor = 128
.cmdEdit.FontBold = True
.Refresh
End With
Case "Lock"
With Me
.AllowEdits = False
.cmdEdit.Caption = "Edit"
.cmdEdit.ForeColor = 0
.cmdEdit.FontBold = False
.Refresh
End With
End Select
End Sub