grumbachr Posted August 7, 2009 Posted August 7, 2009 I need to generate a Manifest for Samples that have been logged in. These are done in batches usually once a day but sometimes more. Its rare we log them in twice a day but it happens. The manifest is generated after all the samples for one logging session are complete and needs to be printed. I feel like I'm stumbling over the first steps with this process. In the main table I've created a "ManifestDate" (looks like 20090806). Next I need to append a letter A for the first, B, C, D, etc.. for other manifest printed that day. This is where I'm stuck. I don't know if I can do all this in the main table, or do I need to create a Manifest table. I feel like this should be really easy but it has me stumped. Any suggestion would be appreciated.
grumbachr Posted August 7, 2009 Author Posted August 7, 2009 I've attached a working example file if anyone wants to take a look. TIA. SmapleLog.fp7.zip
fseipel Posted August 9, 2009 Posted August 9, 2009 (edited) Hi, I wasn't sure if the solution was multi-user and if more than one user would ever input manifest data simultaneously? You might try adding a table 'suffix' with 1 record with a field for 'next available manifest letter/suffix' and 'date on which that letter was assigned'. A pushbutton triggering a script would then be used to start entering the manifest and a second pushbutton, to stop entering manifest data/records. Manifest ID would then be a calculation field = Manifest ID & suffix_letter where suffix_letter is a global field. suffix_letter would be assigned by a script as follows: The first script 'start new manifest' would assign the letter to be suffixed the global field. To do this, it would compare current date [Get(CurrentDate)] to date in above table; if data was the same, it would assign global field suffix_letter to suffix from this table. That's because suffixes on the same day follow sequence A, B, C, D, etc. Then suffix in this table would be incremented. To increment a letter you might use _new suffix_ = char(code(old_suffix)+1). Date in suffix table would be set to Get(CurrentDate). If the current date did NOT match date in suffix table, then suffix to append would be set to "A", next suffix would in suffix table would be set to "B" and date on which letter was assigned, would be set to get(currentdate). That way, it resets to "A" for the first manifest of the day. It may also be worthwhile to disallow creation of new records UNLESS you have clicked button to begin a new manifest. Alternately, may want to compare timestamp of last record to new one; if > 5 min difference, prompt whether user wants to create a new manifest. If this is a single user solution, with no server, with DB not shared, two global fields could be used for next letter and date last letter assigned. In this case, clicking new manifest would increment global suffix field unless date<>current day, in which case, it would go to A. Edited August 9, 2009 by Guest elaboration
Recommended Posts
This topic is 5584 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now