Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 343
  • Last Modified:

Autp record number problem

When I Choose new record, and then I decide to cancel and later on I want to choose new record I gave me extra record number. What script I should use ?  Example will help you to understand better

Example:               Existing record number  =  1000

 [ON CLICK A BUTTON I GET NEW RECORD NUMBER] =   1001

then I decide not to proceed  I choose to cancel /delete

Next day I went back to database and I like to add new record
and the record number should be  1001
                                                                   
But I’m getting record number =  1002

I'm using auto enter serial number with one increment. Some one suggest me to make a script for deletetion when I delete record it should delete record number too , but I'm unable to come up with script.

Please give me complete script

Thanks
 
0
gurshaan
Asked:
gurshaan
  • 3
  • 2
  • 2
  • +1
2 Solutions
 
prifreCommented:
hmmm - I use a swedish FileMaker, so the scripts appear swedish...
but the "delete script" should be something like:

1) set next auto serial number(fieldOfSerialnumber,fieldOfSerialnumber-1)
2) delete the record.

BUT - the above will NOT WORK... The reason is that if you have a button, as soon as you create a record, nothing prevents you from browsing to a different record:
Have existing #1000
Add a new, that becomes #1001
you browse to record #500
you remove record #500 - then you would nave no #500, but you would have two #1001.
So you would have to add to the above script - 3) renumber all record numbers so there are no missing ones. And if it is a big database that might take time (sort on record number, then loop through all records and check if there is anyone missing and fix the numbering by moving fields contents so no "holes" exist)

But you would not be able to use Recordnumber to track the last created record.
I think it is better to THINK differently. Use whatever number FileMaker gives and live with the holes.

Or (to get it faster) - When you delete, delete all field contents, EXCEPT for the record number. And When someone wants to enter a new record, show him the "empty" that has been created already. Thereby you always have numbers filled.

An ever easier way is to use the STATUS (RecordNumber) function  - instead of auto-loop-number. Then you'd always have the correct recordnumber.

So the real question is - what do you actually want to use the number for? To just see a record number on a layout, you can write ## as text and that would automatically show the real recordnumber when you print or do preview.

with a smile
/prifre
0
 
lesouefCommented:
I use a simple confirmation msg before creation.
For a stronger check,  I ask the user to enter important data in a few global fields, my script test their value, then creates the new record by copying global fields values to the right fields if everything is valid, otherwise back to record creation layout with a warning msg... but I agree with him, is a non continous serie a problem? there are many ways to count fields or have a unique numbering system without auto functions of FM.
0
 
billmercerCommented:
gurshaan, I didn't see in any of your questions what version of Filemaker you're using. That could affect your possibilities. If you're using 5.0 you won't have the Set Next Serial script step. I think 5.5 was the first version with this feature.

I agree with the others, this is probably not the problem you think it is. If you just want a sequential number series, follow prifre's suggestion and use the status(recordNumber) function.

Think of the autonumber as a record of database activity rather than just a sequence number. This can be useful when troubleshooting. Also, you can deliberately create gaps as a way of tracking when data was entered.

Example: Last year, the records in a table were all in the range 1000 to 40000. After a major change to our policies was made, I increased the autoincrement to 100,000. Now I can tell at a glance which records are from before the change, without having to remember the date the change was made, or add an extra flag to the table.
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
billmercerCommented:

>if you have a button, as soon as you create a record, nothing
>prevents you from browsing to a different record:

You could just omit all records before creating the new one. Wouldn't prevent a determined user from screwing up, but it would reduce the chance of careless browsing.
0
 
hainauxCommented:
Unfortunately my FM is in french but I will try to translate the script I use or that :
1- Sort ( no dialog )
2- Display record (last)
3- Define serial number following ( "Number_Field", "Number_Field+1")
Normally after 1000 you will get 1001 even if you have deleted 1001 previously
Good luck
José
0
 
prifreCommented:
I like my answer. Pity the asker doesnt care.
/prifre
0
 
lesouefCommented:
fair, he was the 1st to jump on this one!
0
 
billmercerCommented:
No objection from me...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now