Well, let’s see if we can simulate what Craig suggested instead of using the ditto option. Lets say the two fields are Payee and Amount and we want the Amount field to be filled with the last value entered for the same newly entered Payee. If we add this to the Code properties for the Payee field it will do all this for us once the value for the Payee field is entered.
Amount=?(info("eof"),lookuplast("", Payee, «», Amount, ""),Amount)
This goes to the Amount field and then makes sure this record is the last record (new) and, if it is, it looks up the last amount for the entered Payee name. If it is not the last record or there is no other Payee by that name it will not enter anything in the Amount field. If the record is somewhere in the middle of the database it will leave the current Amount value unchanged. If you only want to search the selected records you would substitute lookuplastselected( for lookuplast(.
I have only run this through some limited testing so you might want to test it yourself as well.