Hi Malcolm
This is a somewhat belated response to a thread started by you a few days
ago (comments are interspersed):
On 2001-06-21 06:20:20 PST Malcolm Fitzgerald
> In list view, the little black tab on the left hand side indicates the
> current record. What do you do to clarify that for your shortsighted users?
> I'd love to have an option for current record to hilite in list view or the
> means to generate it w/o too much trouble.
Off hand, I can't think of any way to automatically highlight the current
record in a list view for all the reasons that you have mentioned ("Yes
sir, we are all the current record, sir").
However, providing that the list view is not used for editing, you can use
a script to highlight the current record.
Create a global container field containing a single pixel of the highlight
colour.
Create a calc field (container result):
If (Serial Number = Global Number, Container, "")
Create a script:
SetField [Global Number, Serial Number]
Place the calc field on the List View layout so that it takes up the whole
record, situate it behind the other fields, format it not to allow entry,
format it as a graphic that enlarges and does not maintain proportions,
format it as a button which runs the script, and finally, make its fill
and borders invisible. Make the other fields transparent and format them
not to allow entry.
Clicking on the field will set the global to the current fields serial
number, and the calc will show the highlight colour.
The Scriptology CD extends this technique to allow you to click a field
once to highlight the field and show partial detail in a preview pain,
then click again to go to the record view to view or edit the full
details.
Quote:> Found sets are a subset of the database and are often the result of
> deliberate action. I'd like to be able to say to the found set, "hold that
> thought." Tagging a large found set is onerous. Exporting the set is often
> an over-reaction. Haven't you ever wanted to look at a found set in a
> related database via a portal?
Saving Marked Sets
This technique will preserve unlimited numbers of marked sets indefinitely
- well, almost (see Note 2). I have included an explanation of how it
works below.
New File: Saved Sets
Fields:
"Date", Date (autoenter creation date)
"Saved Set Name", Text
"Saved Set Number", Number
"Global Number", Global Number
"Global Text", Global Text
Scripts:
Ex: Master: Create New Saved Set:
New Record/Request
Set Field [Saved Set Name, Global Text]
Set Field [Saved Set Number, Global Number]
Ex: Master: Show Saved Sets:
Find All
Find Set:
Go to Related Record [Show, Master]
Master File
Fields
"Record ID", Number, auto enter Serial Number
"Record Name", Text
"Marked", Text (formatted as check box which has one value = "1")
"Counter", Global Number
"Save Marked As", Global Text
"Saved", Text
Layout: Special purpose layout which only contains "Save Marked As" (and
hidden "Saved" field)
Scripts (each attached to a button in the footer or header)
Clear Marks
Set Error Capture [On]
Enter Find Mode[]
Set Field [Marked, 1]
Perform Find []
If [Status(CurrentError) = 401]
Else
Replace [No dialog, Marked, ""]
End If
Find All
Mark Found Set:
Replace [No dialog,Marked, 1]
Saved Marked:
Enter Find Mode[]
Set Field [Marked, 1]
Perform Find []
If [Status(CurrentFoundCount) = 0]
Find All
Beep
Show Message Buttons: There are no marked records. Buttons: "OK"
Exit Script
Else
Set Field [Save Marked As, ""]
Set Field [Counter, Counter + 1]
Replace [No dialog, Saved, If(IsEmpty(Saved), Counter, Saved & "?" & Counter)]
Go to Layout [Save Marked As]
Pause/Resume Script
Set Field [Saved Sets::Global Text, Save Marked As]
Set Field [Saved Sets::Global Number, Counter]
Perform Script [Sub-scripts, External: 3Saved Sets2 (Ex: Master: Create
New Saved Set)]
Go to Layout [original layout]
End If
Show Saved Sets
Perform Script [Sub-scripts, External: 3Saved Sets2 (Ex: Master: Show
Saved Sets)]
How it works:
First, clear existing marks using the "Clear Marks" button.
Then find the records that you want to mark. You can then either
automatically mark all records in a found set or further reduce the found
set by selectively marking records.
To save a marked set, click on the "Save Marked Set" button. This will
take you to the "Save Marked Set As" layout where you can choose a
descriptive name by which to identify the marked set later. Each marked
set is also automatically assigned the current date, also for the purpose
of identification.
When the user clicks "Continue", both the name and a number are passed to
another file (Saved Sets) and saved to a new record along with the current
date. The number is generated by incrementing a counter. The same number
is also assigned to each record in the marked set of the Master file, by
setting the Saved field to itself (to preserve any existing numbers), a
return and the new number (the Saved field in effect becomes a multi-line
key). The Saved field and the Saved Set Number field in Saved sets are the
match fields for the relationship in Saved Sets.
To find a saved set, the user simply has to click the "Show Saved Sets"
button to open the Saved Sets file, identify the save set in the list
(using date and/or name), then click a button which runs a script which
uses to the Go to Related Record (show only related) script step.
Remember that the Replace script steps must be performed in a layout which
contains the fields concerned.
Note 1:If more than one user uses the database, you might like to add an
extra field that allows them to store their own user ID with the Saved Set
record.
Note 2: Eventually, the Saved field is going to reach the text field
limit, so you might need to periodically clear the field of all numbers up
to certain number, determined by the current counter number and usage
patterns. All Saved Sets that employ numbers that have been cleared will
of course be effectively lost.
Note 3: It would be a fairly easy matter to add a portal to the Saved Set
file which displays the records of each Saved Set.
--
Bridget Eley