Jump to content
Salesforce and other SMB Solutions are coming soon. ×

Global Field issues,


forbade

Recommended Posts

I am hosting a Database off of a Mac Mini. Using Version 8.03v smth or other. I am not running server.

 

I am having problems getting my global field to be global for other users logging in.

 

I have global field set up in a table that is used as in index for sorting. And when ever other people execute the script to increment the index field it only updates the global field on remote end and not the hosted end. The global field will update for the user session but the global field on the host remains the same.

 

Does anyone know why this is. I really don't want to have to put out a bajillion dollars to upgrade to server just have my database recognize global fields.

 

any help is appreciated.

Link to comment
Share on other sites

No amount of upgrading will help you here anyway.

Globals are session specific to a workstation. If you want to load these values at session start, you need to read them from a one-record utility table using a startup script.

Link to comment
Share on other sites

This is the way globals behave in a hosted environment. They are local to each workstation, and changes made are not seen by other clients or the host.

 

If you need to remember information from session to session, use a User or Session table. If you need a particular value to be changable by different clients and have those changes available to other clients, use regular stored fields in a one-record table (just watch out for record locking issues from two clients trying to edit the record at the same time).

Link to comment
Share on other sites

Thats not cool, looks like Ill have to add it to my Filemaker wishlist hehe

 

I figured out a way around this at least for the indexing side of things, although its rather annoying lol.

 

First I created a global calculation for the table.

// this is so all the records in the table can be related to each other.

 

Second, create a loopback relationship based on this global field.

I then sorted the relationship based on the index so that the greatest index number will display.

 

Than all I have to do to get the last index number is just reference the index from the loopback relationship.

Link to comment
Share on other sites

The local behavior of globals in this manner is really a necessity for multi-user solutions. The work-around of having multiple users editing the same field & record can be problematic. Usually a User or Session table is sufficient to achieve similar behavior of globals in a single-user file (and it can be referenced via a global relationship if necessary).

 

If you can explain better what your really trying to do (I don't know what an "index for sorting" is), we may have a better solution for you.

Link to comment
Share on other sites

Pretty much I have a list of contacts that I sort in listview based on a sortid.

 

so, when I or someone else add's a new contact to the list it makes a new sortid with the highest number which allows it to be viewed at the top of the list.

 

So what I had was a global index field that would keep track of the last sort id used so the next contact could be properly sent to the top of the list with the sort id.

 

It gets kinda tricky when I want to move a person from the bottom of the list to the top. To move a person from a lower position to the top, I would calculate the index plus one set it as the sort id,(that way it would have the highest sort id) and then update the index for the next added contact. This worked fine with one person, but if there are several people editing the list, than the global sort index wouldn't update on the hosted database. So I needed a way to keep track of the latest sort id so the whoever added a new contact to the list could move them to the top of the list.

Link to comment
Share on other sites

Why not just get the highest sort id by using the Max() function? You may need another table occurrence of the table that's related via a cartesian join (X operator) so that the max() is looking at all records in the table.

Link to comment
Share on other sites

Why not just get the highest sort id by using the Max() function? You may need another table occurrence of the table that's related via a cartesian join (X operator) so that the max() is looking at all records in the table.

 

I didn't know about it, ill check it out.

thanks for the tip. : )

Link to comment
Share on other sites

This thread is quite old. Please start a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

Terms of Use