Log edits without showing username/timestamp

Is there a way to use the Log Entry feature without it logging the user or time stamp?

I have two fields, "Related Job" and "Job History" in a table. Any time the key field of the table is modified I want the old entry in "Related Job" logged in "Job History" on a separate line. I have set up an Action to copy the entry upon modification of the key field but while this does work, if the key field is modified again it will overwrite the entry in "Job History", not add it to a list.

The Log Entry feature does log every single change but it also adds the user and time stamp records to the field which I'm not interested in. I just want a log of the old entries from "Related Job".

You will not be using a log field in the child table. You can track as many changes as you want. Create the child table and join it to the table you want to track. So if Related Job is a text field, make it a text field in the child table.

Create an automation that whenever Related Job is changed, add a child record with the new value. To start the child table, export all current values from the parent table and import it to the child table. This creates the first log of all current values. Then future changes are logged via the automation.

Because I want to log the record, not who changed it. Who changed it isn't important. And I'd like to parse other data out of the log field which is hard to do when it's covered in usernames and time stamps.

I figured out what was being suggested above to log old entries. I have created a new table and the Action is now creating a new record into this new table any time the "Related Job" field in another table is modified. This helps me log any time "Related Job" is modified.

However here's where it's got a bit tricky. What I really want this to do is log every entry made into "Related Job", including it's current entry, as a new record but how do I do that?

The issue I'm having is that simply instructing the Action to "copy the old value" means that only the older entries are copied. The new one is not copied. If I add a second Action to copy the current entry, what happens is that it's now copying the new and old entries every time "Related Job" is modified, causing there to be duplicate entries because the current and old entries can sometimes be the same record.

I don't know if this is making any sense. In short, I want to log every record that is added to "Related Job" as a new record in a new table, including it's current entry, but only if that field gets modified.

James, can you take a step back and explain in plain English what your objective is? I think that we got lost in the weeds trying to answer your technical questions and lost site of what you are actually trying to do from a business perspective.

I work in a fashion photo studio. We produce thousands of images a day. Our QB app tracks the movement of each of these images through a series of post production processes. Each image (or ShotID) is assigned a JobID to provide information about when and where the image was taken. Many ShotID's can have one JobID.

If an image is ever reshot, for example to update a garment, the ShotID remains the same (as the key field) and what happens in the app currently is that the JobID for the existing ShotID is replaced with the new one.

What I'd like to start doing is track how often an image gets reshot, because I suspect it is more than a couple of times. To do this, my idea was that if a ShotID has its JobID modified the JobID would get saved to a new field or maybe even a new table. The intention being that I would then be able to say, "this image has had 3 different JobID's and has therefore been shot 3 times".

I am close to this. I have created a new table call "Reshoot". If a ShotID has its JobID modified, an Action creates a new record in Reshoot of the ShotID and the old JobID before it was modified (by using "Copy the old value from JobID"). This works great for saving every old JobID because it will continue to create new records in Reshoot every time the JobID is modified.

However, there's one bit its not doing and I'm completely stuck on. In order to be able to say "this image has been shot 3 times" I need to know in the Reshoot table what the current ShotID's JobID is as well as the other 2 old JobID's. That's the part I need help with. I want these added as a separate record as well, but if I create an Action to do it, every time the JobID is modified it is creating new records with the new and old JobID.

Yeah this is really hard to describe. Correct, the Reshoot table is a child of the Shots table.

What is happening is this, as an example:

In the Shots table I have a ShotID called
1306426_alternate1.tif which has a JobID of
06072017_NYS5_UNREC_W_1806.

If this ShotID has the JobID modified I want two new records in Reshoot created.A record of the ShotID (1306426_alternate1.tif) and the old JobID (06072017_NYS5_UNREC_W_1806)A second new record of the ShotID and it's new, modified JobID (
12242017_NYS5_UNREC_W_1806).

I can do this pretty easily with an Action. This leaves me with 2 new records in Rehoot for this ShotID because it's been shot twice. Perfect.

Here's the problem: If this ShotID is modified again, the Action is going to add two new records again. It will add a record for what is now the the old JobID (
12242017_NYS5_UNREC_W_1806) and another for the new JobID (
02022018_NYS5_UNREC_W_1806).Problem is, what is now considered the old JobID (12242017_NYS5_UNREC_W_1806) has already been added once before when it was considered the new JobID.

Basically I want 2 records created upon the first modification of JobID (to log the original JobID and the new one) and then every subsequent modification should only get one new record created (the new, modified JobID). If I leave the Action as it is now, the JobID's start to overlap.

This is not something I have been able to work out. I've tried to add the JobID's to a ShotID as new fields instead of entirely new records but that doesn't really work either. The bottom line is, how do I handle that a JobID can be considered old and new at different times?

It's so confusing. If anyone is able to make sense of this you're my hero.

So are you suggesting doing something like adding a checkbox field as a flag to the ShotID to indicate that it has been recorded to the Reshoot table already? And then use that to make sure that any subsequent edit of the ShotID is handled differently than the first?

Note that an action can edit the record that triggered the Action. Ie the shot id table.

I'm interested in this but I don't see how I can edit a record within the same table using an Action.

I see now. I didn't know I could create a report link between the same field in the same table.

I've created a report link in Shots to link the Record ID with itself which now lets me use that link to modify a field in Shots called Reshoot, to which I write YES (indicating that the record is flagged as reshot).

I still can't get this to work though. I need the Action to add two new records the first time the Shot is modified - one record for the new entry and one record for the old entry. Then, for any subsequent modifications, only record the old record.

The problem I'm having is that in an Action I can't specify criteria BEFORE a record is modified, only after. So I can't say "if a Shot already has YES in the Reshoot field, do not fire the Action".

I can do this with Automation, but I can't add old records after modification using Automation. I can only add new records. I can't find a good balance between using an Action simultaneously with an Automation.

I'm only understanding about 75% of your setup so I'm offering suggestions that may give you ideas.

If you have an Action fire which updates a field [Reshoot] to yes, if you change it from yes to yes, then that is not a change. So if you have a 2nd Action setup to fire only when that Reshoot field changes, then it would not fire on the subsequent changes. Does that help?

I feel so stupid but I suddenly had the most amazing thought! Instead of trying to handle when and how records are recorded to the Reshoot table, why not just set the JobID field in the Reshoot table to be unique. That way when the Action tries to record two new records it will only record the new one and not the old one, which already exists.