filemaker mysteries

filemaker mysteries

Post by Malcolm Fitzgeral » Fri, 22 Jun 2001 10:36:43



There are a few things that baffle me about filemaker:
(and I do my work on the Mac so these may not affect windows users)

1.   Each record has a unique ID, but it isn't accessible to the user
except via Applescript. Seems crazy to me. It would be a pretty good
basis for an ID number!

2.   status(currentRecordNumber) is not a unique integer across the
whole database. That is, it is not the current record, it is the
current record set, ie, every record in the database.  It is different
for every record in the set, ie, they are all current records.  Why
can't we determine which of the record set is the current record?

3. The found set (which is not the current record set) is not a boolean
value via the status(functions). Wouldn't you love a flag like that,
wouldn't it do wonders for portals?

4.  This one is in Layout Mode. It occurs in v.3, 4, 5 and 5.5 on the
Mac.  Draw a horizontal line, then move it to the left hand edge of the
screen. Push it, using the left-hand arrow, against the left hand edge
and it becomes 1 pixel longer. It only does this once.

--

Malcolm Fitzgerald
Database Manager
The Australian Society of Authors


www.asauthors.org   www.asauthors.org/award   www.asauthors.org/web_of_poets

 
 
 

filemaker mysteries

Post by John Weinshe » Fri, 22 Jun 2001 10:57:39


1. Status(CurrentRecordID)
2. See #1. Status(CurrentRecordNumber) is supposed to be volatile-- use it
for picking out a place in line.
3. Can't understand what you are asking for. Found set is also supposed to
be volatile. Perhaps I'm misunderstanding this one.
4. Filemaker is a database application,  not a graphics program. You've
found one of its many faults in that department.

--
John Weinshel
Datagrace
Vashon Island, WA
(206) 463-1634
Associate Member, Filemaker Solutions Alliance


> There are a few things that baffle me about filemaker:
> (and I do my work on the Mac so these may not affect windows users)

> 1.   Each record has a unique ID, but it isn't accessible to the user
> except via Applescript. Seems crazy to me. It would be a pretty good
> basis for an ID number!

> 2.   status(currentRecordNumber) is not a unique integer across the
> whole database. That is, it is not the current record, it is the
> current record set, ie, every record in the database.  It is different
> for every record in the set, ie, they are all current records.  Why
> can't we determine which of the record set is the current record?

> 3. The found set (which is not the current record set) is not a boolean
> value via the status(functions). Wouldn't you love a flag like that,
> wouldn't it do wonders for portals?

> 4.  This one is in Layout Mode. It occurs in v.3, 4, 5 and 5.5 on the
> Mac.  Draw a horizontal line, then move it to the left hand edge of the
> screen. Push it, using the left-hand arrow, against the left hand edge
> and it becomes 1 pixel longer. It only does this once.

> --

> Malcolm Fitzgerald
> Database Manager
> The Australian Society of Authors


> www.asauthors.org   www.asauthors.org/award

www.asauthors.org/web_of_poets

 
 
 

filemaker mysteries

Post by Malcolm Fitzgeral » Fri, 22 Jun 2001 21:30:39




Quote:> There are a few things that baffle me about filemaker:
> (and I do my work on the Mac so these may not affect windows users)

> 1.   Each record has a unique ID, but it isn't accessible to the user
> except via Applescript. Seems crazy to me. It would be a pretty good
> basis for an ID number!

Status (CurrentRecordID)
The unique ID of the current record

NEW in 5.5! Found it this evening.

 
 
 

filemaker mysteries

Post by Malcolm Fitzgeral » Fri, 22 Jun 2001 22:20:33


Quote:> 1. Status(CurrentRecordID)

BRAND NEW with v5.5, I found it this evening and it's good to see it!

Quote:> 2. See #1. Status(CurrentRecordNumber) is supposed to be volatile-- use it
> for picking out a place in line.

Yes, it's good for saying where you are in a line when you're there.

("Tell me record three, which record are you?", "Record three, Sir!","You're
not record four?", "No, Sir!").

But ask the whole line at once what the number of the current record is.
Every record in the line answers, "I'm the current record, Sir!".

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.

Quote:> 3. Can't understand what you are asking for. Found set is also supposed to
> be volatile. Perhaps I'm misunderstanding this one.

tch, John, you exaggerate: gases are volatile.

Transient, yes. Volatile, no.

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?

Quote:> 4. Filemaker is a database application,  not a graphics program. You've
> found one of its many faults in that department.

W/o disrespect, John, I'm not asking for 3D rendering, it's a horizontal
line. You can make them with your word processor, you can make them very
small in GIF's, here's one I've made for you, ________________. Careful, it
might break in the middle!

I'd ask you to remember that I'm speaking to a large and varied audience.
I've gotten the impression that you're being overly defensive. The behaviour
of the horizontal line is consistent and once discovered can easily be taken
into account when operating with the line tool. However, I haven't seen that
particular "feature" described previously, was it mentioned here? I may well
have missed it. Still, if anyone is wondering why there is a one pixel gap
between their layout and the window edge after they've "pushed" the layout
onto the left hand boundary they can start looking for lines that have
"grown a pixel" - it sticks out of their right hand side :)

 
 
 

filemaker mysteries

Post by GS » Fri, 22 Jun 2001 23:27:34


Actually, new in 4.0, check it out.
--
Glenn Schwandt




at

> > There are a few things that baffle me about filemaker:
> > (and I do my work on the Mac so these may not affect windows users)

> > 1.   Each record has a unique ID, but it isn't accessible to the user
> > except via Applescript. Seems crazy to me. It would be a pretty good
> > basis for an ID number!

> Status (CurrentRecordID)
> The unique ID of the current record

> NEW in 5.5! Found it this evening.

 
 
 

filemaker mysteries

Post by AKA PotzU » Sat, 23 Jun 2001 01:20:40


CurrentRecordID has been around since Filemaker 4.  And probably earlier (I
didn't start until 4.1 ;)

Tony P
AKA PotzUK


Quote:> > 1. Status(CurrentRecordID)

> BRAND NEW with v5.5, I found it this evening and it's good to see it!

> > 2. See #1. Status(CurrentRecordNumber) is supposed to be volatile-- use
it
> > for picking out a place in line.

> Yes, it's good for saying where you are in a line when you're there.

> ("Tell me record three, which record are you?", "Record three,
Sir!","You're
> not record four?", "No, Sir!").

> But ask the whole line at once what the number of the current record is.
> Every record in the line answers, "I'm the current record, Sir!".

> 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.

> > 3. Can't understand what you are asking for. Found set is also supposed
to
> > be volatile. Perhaps I'm misunderstanding this one.

> tch, John, you exaggerate: gases are volatile.

> Transient, yes. Volatile, no.

> 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?

> > 4. Filemaker is a database application,  not a graphics program. You've
> > found one of its many faults in that department.

> W/o disrespect, John, I'm not asking for 3D rendering, it's a horizontal
> line. You can make them with your word processor, you can make them very
> small in GIF's, here's one I've made for you, ________________. Careful,
it
> might break in the middle!

> I'd ask you to remember that I'm speaking to a large and varied audience.
> I've gotten the impression that you're being overly defensive. The
behaviour
> of the horizontal line is consistent and once discovered can easily be
taken
> into account when operating with the line tool. However, I haven't seen
that
> particular "feature" described previously, was it mentioned here? I may
well
> have missed it. Still, if anyone is wondering why there is a one pixel gap
> between their layout and the window edge after they've "pushed" the layout
> onto the left hand boundary they can start looking for lines that have
> "grown a pixel" - it sticks out of their right hand side :)

 
 
 

filemaker mysteries

Post by Malcolm Fitzgeral » Sat, 23 Jun 2001 08:12:02




> > 1. Status(CurrentRecordID)

> BRAND NEW with v5.5, I found it this evening and it's good to see it!

I'm going blind, I checked the libraries of 3 , 4 and 5 before I
posted. I guess that I was only able to see what I was looking for.

--

Malcolm Fitzgerald
Database Manager
The Australian Society of Authors


www.asauthors.org   www.asauthors.org/award   www.asauthors.org/web_of_poets

 
 
 

filemaker mysteries

Post by Malcolm Fitzgeral » Sat, 23 Jun 2001 08:18:10




> I haven't seen that
> particular "feature" described previously, was it mentioned here? I may well
> have missed it.

If I could miss status(currentRecordID) I could miss... well let's not
go too far down that track.

--

Malcolm Fitzgerald
Database Manager
The Australian Society of Authors


www.asauthors.org   www.asauthors.org/award   www.asauthors.org/web_of_poets

 
 
 

filemaker mysteries

Post by Paul E. Este » Sat, 23 Jun 2001 14:57:28


Hi all,

Here is a little more info on the function, from Tech info

Status(CurrentRecordID) Produces Numbers Out of Sequence
------------------------------------------------------------------------

ISSUE:
I have set a field to calculate the Status(CurrentRecordID) in each record.
I can't seem to get a reliable sequential number from this function.
As I add new records the Current Record ID's begin at 1 and then increase
sequentially by 1 with each new record. When I get to the 128th record,
instead of returning "128", the Status(CurrentRecordID) function returns
"32,768". From that point, for each new record created the current record ID
again increases sequentially by 1 until record ID 49,151 then on the next
record instead of "49,152", Status(CurrentRecordID) returns "12,582,912",
then begins numbering sequentially by 1 again.

EXPLANATION:
The Status(CurrentRecordID) function was included in FileMaker Pro 4.0 and
later; primarily as an aid to web publishing and cgi functionality. It
provides access to a unique ID that is specific to one record in the
database regardless of the current found set or sort order. This is in
contrast to the Status(CurrentRecordNumber) which changes based on current
found set or sort order. The ID numbers FileMaker Pro generates are
sequential but not contiguous due to the way the numbers are generated
internally. It is not intended to be used as an incremental serial number,
counter, or other similar function.

Brian





>> I haven't seen that
>> particular "feature" described previously, was it mentioned here? I may well
>> have missed it.

> If I could miss status(currentRecordID) I could miss... well let's not
> go too far down that track.

 
 
 

filemaker mysteries

Post by Langost » Sun, 24 Jun 2001 17:31:34


From what I understan, the Record ID CANNOT be used as a key, as it can
change values between sessions.

On Thu, 21 Jun 2001 22:57:28 -0700, Paul E. Ester wrote

Quote:> Hi all,

> Here is a little more info on the function, from Tech info

> Status(CurrentRecordID) Produces Numbers Out of Sequence
> ------------------------------------------------------------------------

> ISSUE:
> I have set a field to calculate the Status(CurrentRecordID) in each record.
> I can't seem to get a reliable sequential number from this function.
> As I add new records the Current Record ID's begin at 1 and then increase
> sequentially by 1 with each new record. When I get to the 128th record,
> instead of returning "128", the Status(CurrentRecordID) function returns
> "32,768". From that point, for each new record created the current record ID
> again increases sequentially by 1 until record ID 49,151 then on the next
> record instead of "49,152", Status(CurrentRecordID) returns "12,582,912",
> then begins numbering sequentially by 1 again.

> EXPLANATION:
> The Status(CurrentRecordID) function was included in FileMaker Pro 4.0 and
> later; primarily as an aid to web publishing and cgi functionality. It
> provides access to a unique ID that is specific to one record in the
> database regardless of the current found set or sort order. This is in
> contrast to the Status(CurrentRecordNumber) which changes based on current
> found set or sort order. The ID numbers FileMaker Pro generates are
> sequential but not contiguous due to the way the numbers are generated
> internally. It is not intended to be used as an incremental serial number,
> counter, or other similar function.

> Brian

 
 
 

filemaker mysteries

Post by Bridget El » Mon, 25 Jun 2001 10:35:37


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