Forms :: Locking Fields Even If They Have Unsaved Changes
Aug 8, 2013
I have a button on my form which locks (and disables) some fields. by locking and disabling fields, I am able to change the back color of the fields to a "grayed out" look to warn the user that they cannot change the contents of the field.
some of the fields that I have disabled are in fact option buttons and check boxes which have no back color to change, keep this in mind!
So i have a macro that changes ALL of the fields to disabled and locked, as well as their background color.
This causes an error with the check boxes and option boxes so to bipass them I have got the clause "On Error Resume Next" so that my macro continues to complete and finish locking the rest of the form.
With this "On Error Resume Next", If the code reaches a field which has been changed, another error occurs due to a field being changed which blocks the rest of the code from working however why it wont change regardless of the issue, I dont care if the content was saved to a record or not, I just want to put the fields into disabled and locked.
Is there a way I can remove this "You Can't Lock A control while it has unsaved changes" error to ignore that there has been changes? Where the changes just dont matter?
I have two forms, the first of which I'll refer to as my "main" form. The main form has 6 text boxes bound to Table1.
There is a one-to-many relationship between the records of Table1 and the Dates table.
After filling out the first 2 text boxes of the main form, I want to open up a second form to populate the Dates table. I'm using OpenArgs to pass through the PK of Table1, so that it can be recorded in the Dates table.
Sometimes I'll want to enter a 2nd or 3rd date, but I am getting an error message after entering the 1st date. It says that Access cannot find a matching key in the main table.
Is there a way for me to save the record in the Table1 prior to opening. The second form so that I can avoid the error message?
I don't want to use a subform to enter the dates because I don't care for the datatable look of subforms. After entering the dates in the second form, I then want to go back to the main form to complete entering the remaining text boxes.
Is there a way to lock the row source fields in the properties menu as currently it keeps creating exceptions (WHERE) onto the end of the SQL this is subsequently causing me major issues in the view of the form/datasheet as fields keep appearing as blank when there is actually values stored within the table.
locking entry of data in a form. Attached is the database in which my question lies.
The user first interacts with Table 1, which then leads to the opening of the Personal form (as per the user's wishes). What I would like to do is:
1: To give the user the authority to enter data in those cases where the fields in the Personal form is empty (in the case of the Names). The user should not be able to change any data if these fields are not empty.
2: To give the user the ability to change the Amount (If this figure is Zero) and not to change anything if this amount is not Zero.
How do you go about locking certain fields in a table, so that data can only be input to them via the form?? I have a few tick boxes set up, and i want them to changed only in the form, as they can only be ticked under certain circumstances which aren't setup in the table.
I am really new to all of this and used to use excel for this stuff.... yes I know... I can hear the screems already .......... :):eek::rolleyes:
What I am trying to do is lock some fields in a form when they are entered so the data can not be changed after they move onto the next record. I think this might be done in the table but can not be sure.
Can anyone point me in the right direction? or some pointers please. Any help would be good.
I have two tables tablea, tableb. They both have the field Line address in which is a number.
However, when i have both these tables in a query and link them on line address the dataview sheet becomes locked. But if i just run a query with tablea on its own, i can write in the dataview and if i just run a query with tableb i can also write in it, but when linked together on line address, it fails
i have a form that looks like an invoice.. i want to be able to lock the fields invidually after they are updated but only for the current record being accessed... and password protect them to allow editing.. any suggestions or pointers would be great!
I have 4 questions (4 fields) in a form. 2 are drop down menu type and 2 are open text fields.I would like to limit the user from entering data in the fields if one has been answered. for example: if Question one is answered, question 2, 3 and 4 should be locked and should not allow the users to fill in anything. How do I create that Locking system?
How can i apply the following code to the immediate record in my subform. I would like when the assigned check box value = true, then the fields for that record become locked.
Ive written the following code to an onclick event for a check box labeled "assigned" on my form, the problem is it executes on all the records in my form.
Q. How do i apply the code to only the immediate record?
Private Sub Assigned_Click() If Me.Assigned.Value = True Then Me.Serial_Number.Enabled = False Me.Component_Group_ID.Enabled = False Me.TypeID.Enabled = False Me.Description.Enabled = False Me.Status.Enabled = False
On my form I have a set of fields that can be displayed as editable or read-only depending on a "Lockout" checkbox for that record.Is there an easier way of doing this? If not, would it be smarter to create a function to do this? As it stands I'm assuming I would have to have this code run when the form loads, when the Lockout box is clicked, and whenever the record is changed just to ensure that the records are displayed as locked or unlocked appropriately.
Here's what I have:
Code: Private Sub Lockout_Click() If [Lockout] = True Then Me![Customer_Text].Enabled = False Me![ReqDesc_Text].Enabled = False Me![MoreInfo_Text].Enabled = False
Im working in MS Access 2007.I have 3 combo boxes on a form. My goal is simple I would like the 2nd and 3rd comboboxes to be locked unless the user has already chosen selected an item from the 1rst combo box. The code im trying to get working now is in a On_Current event so that when the first combo box has nothing selected, combo box 2 and 3 are locked.
This is my code where combo box 1 = areabox2 combo box 2 = devbox2 combo box 3 = entitybox2
[code]...
The issue is that the entitybox2 and devbox2 do not lock!
I'm using Access 2003.I'm trying to create a command for a form that will allow editing or lock all fields, so that records are protected from accidental edits.AllowEdits in the form is set to False by default.I've used the below code to allow a user to unlock the form:
Private Sub cmdEditRecord_Click() If Me.AllowEdits = False Then Me.AllowEdits = True Else Me.AllowEdits = True End If End Sub
And this works without issue.However, I want to create a second button to lock the form again.
Private Sub cmdLockRecord_Click() If Me.AllowEdits = True Then Me.AllowEdits = False Else Me.AllowEdits = False End If End Sub
Seems logical that I should just be able to reverse the true/false but this does nothing!I've also tried the below code:
Private Sub cmdEditRecord_Click() Me.AllowEdits = Not (Me.AllowEdits) End Sub
To toggle between editing/locked, with the same results - ie, can switch to editing, but can't then turn it off.
I've got some forms that I've set to lock controls based on an added tag. I have a loop that goes through the entire form and disables (controlname.enabled = false) or locks (controlname.locked =true) all the controls with that tag.
This appears to work fine when the form is on a blank record but when an existing record is opened, the controls that have data in them are no longer locked or disabled (empty controls are still locked). Is there an explanation for this behavior? I don't want to disable the entire form because there are controls that I want the user to be able to always access. I started by just disabling them, then when I noticed the problem I tried locking them instead but it happens with both. Is there another property I can try that will really lock them if they have data in them or not?
What's the best way to lock down form controls after the user has entered data into them? I will have a button that reads "Save Record" that will make it so the records cannot be accidentally (or intentionally) changed after the button is clicked.
So I am creating a Complaint Tracking Database with Access 2013. In my 'complaint entry form' I have added to ability to "Open" and "Close" the complaint. While the complaint is open the user is able to enter/edit data in the complaint (new or old). When the complaint is "Closed" (done so with a button on the form that prompts the user to enter a date of their choice) the user should not be able to enter/edit data in the given complaint. In my original thinking, I placed checks on various events (on load, after update, on click) that checked to see if the current complaint had a date in the "Close date" field.
If the close date field was null then that meant that the complaint was open and the the controls would NOT be locked. If the close date field was NOT null (i.e. a date was present) then the complaint was closed and the main form fields were locked but the data was still viewable and unless they "re-opened" the complaint they could not change the data.
Now, in the complaint entry form, I have a subform that acts as a action tracker that is used by the user to keep track of the actions taken on the complaint (i.e. they requested documentation from such and such on this date..etc). My problem through all of this is upon closing the complaint and locking the main form controls, my subforms data just vanishes! At first I figured the problem might be with the linking of master and child fields, so I made sure that I left the ID in the main form unlocked when I loop through my controls during the locking process. This did not solve my problem. Code below:
Private Sub Form_Load() Dim ctl As Control If Not IsNull(Me.close_date) Then Me.FormHeader.Visible = True Me.btnClosed.Enabled = False Me.btnOpen.Enabled = True For Each ctl In Me.Controls
I have a totalquery that runs fine and give me the sum for both fields I'm looking for but I can't get the outputs to fill the fields on the form. I have tried the Dcount query in the control source but that just returns an error and locks up access.
Code: SELECT [Tble-wcDelays].Causedby, Sum([Tble-wcDelays].HoursDelay) AS SumOfHoursDelay FROM [Tble-wcDelays] GROUP BY [Tble-wcDelays].Causedby, [Tble-wcDelays].LinkingID HAVING ((([Tble-wcDelays].LinkingID)=[Forms]![Frm-ePlusCent]![cleanID]));
I have a query that creates counts of fields based on the data in other fields, basically it tells me that in a table there are two entries with value ABC????? and three of DEF????? , the query works perfectly.
When I create a form to display this data and base the form on the Query I keep getting a message box asking for the ID (key field) from the base table.
If I type * in the box (to denote all values) and press enter I get the results expected.
I have a company wanting to asses my database and i am willing to show them but i need to be able to lock the database so that they can view it but cannot edit anything in it either adding deleting or plan editing. How can i do this.
Hi, I just recently split my Access db (FE/BE), copied the FE to each of the clients, and it seemed to be working fine. This morning however, two users went into the db, and the second user kept getting the error can't find the file \servernameshare_namedb_fe.mdb. Now, none of my users can launch it. How can I resolve this? Will this keep happening?
I have to send an access application out to some people who need to preview it's functionality. What is the best way for me to send this .mdb file to them so they can use it (tables, forms, queries, macros and functions) but still keep them from opeing up the objects and viewing the code behind them? Is there a way of sending the .mdb file out so that objects cannot be seen in design mode and the objects cannot be viewed other than through the flow of the application? As you might have already guessed, I am new at securing an .mdb file for outside use. Your help would be greatly appreciated.
I don't know whether you can help :D But i am in need of some code/guidence, or a way to go about trying to do what i want to achieve.
Basically, i am creating a invoice producing software in Microsoft Access, based upon Computing parts resaleing.
Because the supplier, i use changes the prices daily, when i type the products into the Parts Table, the price being typed in will change for the next customer to have the same part.
Basically because i am using this software to produce Profit and Loss, The invoice will be looking back at the Parts table, and changing the unit costs for invoices which are say weeks old.
I am wondering whether i can "lock" the invoice so it cannot be updated from the Parts list and keep the profit the same, so i get an accruate result when i come to look at it.
So with the help of many of you on this site, I was able to build my first Access database. Thank you all.
Now that I'm all done, I have one final thing to figure out.
I have incorporated user authentication into the database for a minimal level of security. Everything finally works like it should, however there is one "flaw" I have found.
In "Access Options" I have the login form set to open when the DB is open, and navigation and ribbon/toolbars are deactivated so only the login form and "Home" ribbon are showing when the DB is opened.
The problem with this, is that a curious user that shouldn't have access could get access fairly easily.
If they right clicked the "Home" ribbon, then left clicked "Customize Quick Access Toolbar", they could change the default form to whatever they wanted. Thus bypassing the login form and nullifying any security that it offered. Ideally, there should be no ribbons or toolbars. I just don't know how to get rid of them.