November 16, 200421 yr Greetings All I'm sure this has been answered, perhaps I'm not searching for the right keywords. Anyway, wondering if someone can assist. I added a new text field to an existing database. The default value is "No." But, when a record is approved, the user changes this value to "Yes." This condition applies for all new records. Now here's my problem, I need a simple script that would update the other 500+ records currently in the database to reflect "Yes" in this new field. Note the field is blank for these records. Thanks in advance! -steve
November 16, 200421 yr GoToRecord[first] Loop If[isEmpty(newtextfield)] SetField[newtextfield;"Yes"] End If GoToRecord[Next;exit after last] End loop
November 16, 200421 yr David's script is correct -- although I might add a Freeze before any Loop to speed things up. However, if this is just a one-time problem, simply find the records where the new field is empty and do a Replace with "Yes."
November 17, 200421 yr ... and I add a little something that refreshes the screen every so often, so the user doesn't think the program has crashed... Go To Record [ first ] Loop Freeze Window If [ IsEmpty(newtextfield) ] Set Field [ newtextfield ; "Yes" ] End If If [ Mod ( Get (RecordNumber) ; 100 ) = 0 ] Refresh Window [] End If Go To Record [ Next ; exit after last ] End loop I usually make the number in the Mod function so the screen refreshes once every 1.5 or 2 seconds.
November 17, 200421 yr Also, make sure you're running the loop on a Form layout and not a List, for increased speed.
Create an account or sign in to comment