A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Access » Using Forms
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Lock/unlock form button



 
 
Thread Tools Display Modes
  #1  
Old February 11th, 2010, 06:37 AM posted to microsoft.public.access.forms
Rlong
external usenet poster
 
Posts: 1
Default Lock/unlock form button

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

  #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

  #3  
Old February 11th, 2010, 10:56 PM posted to microsoft.public.access.forms
Rlong via AccessMonster.com
external usenet poster
 
Posts: 7
Default Lock/unlock form button

Thanks, Allen! This code works as well, and it's helpful to be able to unlock
individual controls. I do, however, like the way the other code "relocks" the
form after editing any single field, so you don't accidently leave the form
unlocked. I'm wondering if there's a way, using the original code that I
posted, to include a line or two that would leave individual controls
unlocked? Any ideas? I'm a fairly low-level code writer, so I'll need to rely
on others for this one.

Thanks again.



Allen Browne wrote:
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.)

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

[quoted text clipped - 64 lines]
End Select
End Sub


--
Message posted via http://www.accessmonster.com

  #4  
Old February 12th, 2010, 01:54 AM posted to microsoft.public.access.forms
Allen Browne
external usenet poster
 
Posts: 11,706
Default Lock/unlock form button

There are multiple problems with the original code's working/reliability, so
I'm not sure I can sort it out for you.

Examples:
- You have to hard-code the names of the controls in the code.

- Setting AllowEdits has other side effects (e.g. entire form disappears if
there are no records, and its effect on subforms.)

--
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 via AccessMonster.com" u58125@uwe wrote in message
news:a37df3fe5f872@uwe...
Thanks, Allen! This code works as well, and it's helpful to be able to
unlock
individual controls. I do, however, like the way the other code "relocks"
the
form after editing any single field, so you don't accidently leave the
form
unlocked. I'm wondering if there's a way, using the original code that I
posted, to include a line or two that would leave individual controls
unlocked? Any ideas? I'm a fairly low-level code writer, so I'll need to
rely
on others for this one.

Thanks again.



Allen Browne wrote:
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.)

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

[quoted text clipped - 64 lines]
End Select
End Sub


--
Message posted via http://www.accessmonster.com

  #5  
Old February 12th, 2010, 02:08 AM posted to microsoft.public.access.forms
Rlong via AccessMonster.com
external usenet poster
 
Posts: 7
Default Lock/unlock form button

Thanks for thinking about it. Even with my limited coding experience I
thought that this code looked a little simplistic and un-elegant. Maybe I'll
work with the other set of code instead and try to build in some of the
safeguards I'm looking for.




Allen Browne wrote:
There are multiple problems with the original code's working/reliability, so
I'm not sure I can sort it out for you.

Examples:
- You have to hard-code the names of the controls in the code.

- Setting AllowEdits has other side effects (e.g. entire form disappears if
there are no records, and its effect on subforms.)

Thanks, Allen! This code works as well, and it's helpful to be able to
unlock

[quoted text clipped - 32 lines]
End Select
End Sub


--
Message posted via http://www.accessmonster.com

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 04:09 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.