Type TDB_Scoring_Player(RecordID As Long, GridRow As Int, ScoreCardName As String, Handicap As Int)
Dim PlayingPlayers as int
Dim Players as List ' NOTE: This is a list of TDB_Scoring_Player types filled in by somewhere else
For PlayingPlayers = 0 To Players.Size-1
Dim Player As TDB_Scoring_Player = Players.Get(PlayingPlayers) ' thought I was getting a copy
Do While Player.Handicap > 0
'----------------------------------------- Alot of other code not shown
Player.Handicap = Player.Handicap - 1 ' Changed this value
Next
Loop