Locking old records

Hi all,

I have just imported records from a spreadsheet, that have all of the validation and equation rules I will be setting up in knack.

I dont want these records to change once the live app is running and therefore dont want the actions and calculations to be done with them. I think a work around is to add a “after a certain date” to the display, validation, and action rules.

Just really wanted to see what other members views are on that, is that OK to do?, is it good practice?

I have searched for a lock feature in the help sections but could not find anything.

I suppose the main point of my query is, is it possible to lock certain records from editing?


There is no global feature in Knack to lock records.

If you’re talking about not being able to edit certain records in the live app then there are ways you can achieve this quite simply. If you’re talking about not being able to edit records in the builder, then it’s not possible.

For the live app I’d make sure my table views were not set to inline editing so the user has to click an “edit” link on the table. You can then selectively hide the edit link based on a record value using a display rule.

You could add a multi-choice field or a Boolean Yes/No field and mark all this records that you don’t want edited as “No”. Then you can add the display rule to the edit link to hide if that record is marked as “No”.

Not sure if I understand exactly but hope that helps.

Thanks Carl.

The records I am importing have already had equations and actions completed on my old database, so effectively what I want to do is get any future actions/equations emails etc ignored for those records.

The only way I could think of doing it is to set a rule firstly in all rules that ignore any past date. So for example, I would put if Date Received is after (The day after I imported the records) then run the following rules.

I hope that explains what I am trying to achieve. The live app won’t be editable on the front end anyway.



Unfortunately I agree with Carl, there is no functionality for this currently in Knack, particularly for equation fields. We built in a lot of equations with currentTime (eg Days since update). This is very powerful but has caused performance issues as our data grows.

We would love the equations to have when conditions so we could turn them on and off. This would save job runner load and improve performance, and would also help your situation Chris to not change certain records.

1 Like

Thanks Grant, I’m still trying to work out how to get around it. I had set a conditional rule to only apply to records after a certain date. However, that then conflicted with an action link, so I am still working through it.

Hopefully I will get there!

@GrantSchus98670 Agreed, some sort of “when conditions” would be great.

In my scenario, I have staff that are paid a specific rate for each job. I set the rate as a field in the Account table. If I change that rate when a user gets a raise, it updates all of the records related to that user.

A when condition applied at the time of updating a calculation field would allow me to select which records to update.