I was filtering my entries by ID# to only display specific rows, then modified a cell not related to ID# , and that somehow excluded that row from the filter. The modification was deleting the content of a cell or adding content to the empty cell. Disabling then re-enabling the filters returns the row within its correct filtered range.
Describe, step by step, how to reproduce the error or problem you are encountering.
Create a formula “ID#” column that links each row with an Autonumber column (“Index”):
concat(‘mCI’,if(length(totext(field(‘Index’)))=1,‘00’,if(length(totext(field(‘Index’)))=2,‘0’,‘’)),field(‘Index’))
Create a Single Line Text column
Add 10 rows. ID# should be automatically generated (mCI001, mCI002,…,mCI010)
Add two filters to only display mCI003 to mCI007
Index is equal or higher than 3
AND
Index is equal or lower than 7
Copy-paste a string into the short text column. An error message should appear saying that the row does not match the filter. Clicking anywhere removes the row from the range.
Return the row into the range by desabling then re-activating the fliters.
I tried to replicate the issue and it seems that using an Autonumber in a filter indeed removes a record from the filtered list when changes are made to any field of that record.
I was originally using row_ID() but because of another ongoing problem I encountered where the row_ID jumped several numbers ahead as if multiple rows were added then instantly deleted, I had to switch to Autonumber.
The problem still occurs with Autonumber, but at least I am able to reset the numbering, while I cannot recover the missing rows.
If you want to ensure that each record has a unique ID, I would recommend using the row_id over the autonumber. The id of a record is 100% unique and can never be changed. The id is also never reused when a record is deleted, ensuring that each id is completely unique.
I would also prefer using row_id(), but each ID is linked to a physical location in my lab, so having a gap of 30 numbers in the database would waste the space of 30 samples.
Additionally, all of my tables have been affected by the problem I linked above, so I would need to delete the whole database and start from scratch to use the row_id(), with no guarantee that the same problem won’t occur again and waste lab space. Better to use Autonumber for now.