wdrspens Posted October 8, 2020 Posted October 8, 2020 I have a small Filemaker Member's database (less than 1,200) with some 650 existing members but I am not the Membership Secretary. The Membership Secretary uses Excel to record who joins and resigns, and each time there is a change in membership (joining or leaving) the Excel file on Dropbox is updated and I am notified. I therefore have to import that data into my Filemaker Members database each time there is a change to the members (new member, change in personal detail or resigned member). However I am in control over the data of the existing members who also join our web membership (at present less than 100). The web members have to be manually activated when they join the web membership and I have to check that each person is a member before I activate their web membership. So far no problem. I record in my Filemaker Members database the following data in respect of each member (in addition to their personal data) - the date to which they have renewed their membership, the date they resigned, the date they became a web member and whether their web membership has been activated or deactivated. It is important that their web membership is deactivated when they resign their membership, so they no longer have access to the members section on the web. I therefore want to set an alarm that alerts me each time I import from the excel file or when I open the Filemaker database, that if any member is now recorded as having left, and is also recorded as having an activated web membership, I must deactivate that member. Thus, in respect of each member, if the field "Date Left" shows a date AND the field "Activated" is Yes, a warning is raised and that warning remains until the field "De-Activated" is also Yes. I know I can achieve that by conditional formatting, but I can only get about 28 members per page, so will not be alerted unless I scroll through all members. I therefore need to get a warning in the Header Space. Can that be achieved?
comment Posted October 8, 2020 Posted October 8, 2020 1 hour ago, wdrspens said: if the field "Date Left" shows a date AND the field "Activated" is Yes, a warning is raised There are several ways you could approach this, here's one that wouldn't require adding anything to your schema: find the records that meet the stated criteria. You could do this in a new window, so that your existing found set is preserved. Then, as long as the new window shows any records, you have records that need to be handled. 1 hour ago, wdrspens said: if any member is now recorded as having left, and is also recorded as having an activated web membership, I must deactivate that member. I wonder why you cannot automate this part.
wdrspens Posted October 8, 2020 Author Posted October 8, 2020 Thank you for that comment. It has given me an idea that I believe will resolve my problem.
wdrspens Posted October 8, 2020 Author Posted October 8, 2020 You "wonder why I cannot automate this part". I am not clever enough to automate it as I first have to open the Word Press website, find and deactivate the member, and then, only after I have done that, do I have to record in my database that that is what I have done. My problem is nearly resolved following the idea you gave me, by writing a script to import the updated data from the excel file, and then displaying it only where there are records that need to be handled, as per your suggestion, but I am stumped by what happens if there are no records that need to be handled. I want to use an "If...Endif" script, but do not know how to record a blank result where no records need to be handled, i.e when I get a message saying "No records match this find criteria". I can live with that, although it would be nice to avoid it.
comment Posted October 8, 2020 Posted October 8, 2020 (edited) Try something like: Enter Find Mode [ ] Set Field [ Members::Date Left"; "*" ] Set Field [ Members::Activated"; "Yes" ] Set Error Capture [ On ] Perform Find [ ] If [ not Get (FoundCount) ] # DO SOMETHING Else # DO SOMETHING ELSE End If If you want to be more precise, you can use: If [ Get (LastError) = 401 ] Edited October 8, 2020 by comment
wdrspens Posted October 8, 2020 Author Posted October 8, 2020 Thank you so very, very much for your help.
Recommended Posts
This topic is 1508 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