Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 7025 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

I'm creating a reservation database for audio-visual equipment and I have already set it up so that a new record is created automatically, which is great.

What I need to do is to block the users from seeing where the equipment is already at so that they (the teachers in this school) don't go trying to find that equipment that isn't theirs.

I have tried several different scripts and field configurations, but no one seems to have just what I need. If I could just wrap my head around how to do this, it would be much easier (I could do this in MS Access, but I prefer FM Pro).

So, if there is some way that I could block the book feature, that would be perfect. Or if I could just isolate the current record and prevent people from seeing the other records using a find (which I just don't seem to understand how to make a script that uses the find feature...isn't there just a simple FIND and then the criteria from a field and then the result...why isn't it simpler?).

THANKS!!!

Posted

Have you tried using the accounts and privileges. You could restrict the access to the field and then run the find script with run with full access.

Posted

Well, I realize that I could restrict access to the field, but you lost me after that. I have been trying to get a script to restrict the records shown by using a find and I am LOST.

I don't know why, I but I have had SO MUCH TROUBLE trying to get FM to work and there was a time when I had no problem whipping up a database and rocking and rolling.

Posted

Hi,

Please confirm this: You want to restrict access to the records where the equipment is already sold. You don't want any user to even do a search on these records. Am I right?

Please send a clone of your file or send your script to have me look into it. I will try to help.

Thanks,

--Sanjai

Posted

Unfortunately, I was tinkering with the permissions and when I went to open the database, I kept getting this message saying that the database already existed and I clicked OK and it overwrote the entire database.

However, I don't think I'm being understood...

I want a new record (got that handled) to open when a patron (think library) wants to check out a piece of equipment (no buying or purchase involved), but I don't want them to see all of the other records created in the database because then people will be browsing what other people are checking out and reserving.

Posted

You are creating a new record everytime when the patron wants to check out a peice of equipment?

If yes then hopefully you are storing the id of the person who is logged in and the equipment id. You can create a self linking relationship "A" based on the field "userid". In your opening script, you can write "Go to related record(<> (show related records ony).

The above step would show only those records which were created by the current user and he will not be able to browse through the records created by other people.

Let me know if I have misunderstood and I would try to resolve it. If I have misunderstood please send a copy of your database or the script.

--Sanjai

Posted

OK. I can see that happening, but I don't need people to log in to the database with a userID because we have some people checking out equipment that I won't be free to add them to the database before they check out equipment.

I want them to fill out a screen that has a name field and then based on that I can let them see only their own records which would be fine, but wouldn't it be simpler to just limit the current browsed set to the new record created when they open the database?

Posted (edited)

If you limit the current found set to the new records created when they open the database, they may not be able to view records which they had created yesterday or the day before. You can not be sure how many records are created today after the database is open because simultaneously records would be created by other users.

I would keep a user table where each user name would have a userid instead of keeping a relationship based on user name. That way you can show a drop down list for the user names and the users would like to select their name from the list instead of typing the entire name.

Edited by Guest
Posted

That's a nice idea, but I don't really care if they can see previous reservations they have made. If you frequently go to a restaurant, what use is it to you to see how many times or when you had gone before?

I do want there to be a drop list of names, but I need to be able to let people add their own names if they are not on the list so that they aren't slowed from making a reservation. We have high turnover, so it would be too much work to try and maintain that list. Plus there are people who just aren't employees who make reservations who are with affiliated groups and I have no idea who they are in advance.

Posted

OK, but adding a new customer name who is not in the list could be done automatically and easily.

I see what you are talking about. How about before creating a new record automatically, first you delete or archive all the old records of that customer. That way whatever you have in your database is the most recent information.

If you search on those records which were created after the database was opened, it may also show those records which were created by other users.

Posted

Yeah, I know that adding someone not on the list is easy, but I'm trying to make this simple and elegant. I can't delete the previous records because I need to account for reservations made in the past so that I can create statistics. I also don't think that archiving is what I want to do either; that sounds completely unnecessary and I don't want any slowdown in using the database as a result or time spent executing a script that I think is unnecessary. I also don't want to search any records at all and I realize that people may see records that belong to others and that's why I'm asking for help. :

Posted

Hi,

When the user opens the database,

1. in the opening script to open the database, capture the time in a global variable.

2. add a calculation field username + current date. Create a self relationship using the calculation field.

add a time field.

3. When the user wants to browse the database, do a search on all the records where the calculation field = "username & status(currentdate)" and time = ">=" & <>.

The above steps would result in all the records where were created by the user and which were created after he opened the system.

--Sanjai

Posted

Try it, it does not involve any complex functions. Once you write the script and if it doesn't work, please send it to me and I will work on it to see if I can solve the problem.

Thanks,

--Sanjai

This topic is 7025 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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.