March 28, 200718 yr In order to set up email marketing lists, I display a list of all the contacts in our database. To add them to an email list I run a script to create a join record. The script Freezes the Window takes the id from the presenter and a global value (the campaign being worked on) as two values, it then goes to the join layout, searches for a record with the two variables, if it finds one it returns to the original window, if not it creates the join record and returns to the original value. Using the global value I have set up a relationship to indicate if the join record exists (i.e if a customer is on the particular email list) This all works great. The problem is keeping the original layout still. On the original layout, which displays 20 records on the screen and can be scrolled, you can click a button next to any of the records to trigger the script, when the script finishes the record which the script has been run on, always ends up at the bottom of the screen, regardless of where it was on the screen when the script was run. Is there a way to completely freeze the window, so that to the user the script is completely transparent?
March 28, 200718 yr How about at the start of the script storing the record # into a variable and at the end of the script going to record# (by calculation) yourvariable. HTH Phil
March 28, 200718 yr Author Thanks for the suggestion, I have tried that and I always end up on the correct record, but with it at the bottom of the page. I need to keep the record in exact place it was when the button (running the script) was pressed. I want it to look to the user like pressing the button, switches on the indicator (with a very slight lag). Its confusing for users to have the screen appear to move about when they select a recipient. any other ideas?
March 28, 200718 yr This seems to be a by-product of your script. If your script did only the things you have mentioned, this shouldn't happen. I am guessing you are ending with some attempt to get back to the original record. But there's no reason why the current record on the original layout should change.
March 28, 200718 yr Author Hi, It's not that the record changes, it's that it's position on the page changes. The script does the following: Freeze Window Set Error Capture on Set Variable 1 Set variable 2 Go to join layout Enter Find Mode Set Field with Variable 1 Set Field with Variable 2 Perform Find if [Get (Last Error) < 1] Enter Browse Mode Show Custom Dialogue ["already booked"] Go to original layout Else Create Join record Goto original Layout I have also tried setting a $ with Get (RecordNumber) and then using it to Go to record by calculation at the end of the script. In both cases I end up on the correct record, but it always moves to the bottom of the screen.
March 28, 200718 yr I cannot reproduce your problem. Can you post a demo file (preferably a simple one) that shows this behavior?
March 28, 200718 yr OK then here's another possibility. I don't know that it works but it might. At the start of the script instead of having a freeze window have a 'new window' step. Specify the new window to be - (minus)1000pixels each way. At the end of the script close the new window. This will mean that the window where all the action takes place is off the screen and therefore not visible to the user. Your old window will still be visible as before. After you close the new window the old window will become active again - hopefully with no changes. It will be interesting to see if that works. It certainly does for me when I have a lot of 'flashy' things going on on my screen due to the windows refresh issues. Regards Phil Phil
March 28, 200718 yr Author Comment; I have uploaded a file that shows the problem. It's very simple and doesn't have the indicator thats in the full file. Clicking the button next to the record creates the join record and moves the record you are working on to the bottom of the screen (try it with a record half way though the list). Inky Phil: Thanks for the suggestion I will give it a go. DemFile.zip
March 28, 200718 yr I think that this may be a better approach than trying to script it. DemFile_relations.zip
March 28, 200718 yr Author John, I think you might very well be right, I haven't used relationships to test conditions before, but I'm certainly going to start! Daniel
Create an account or sign in to comment