Sorry! The first field is .Field(0). So:
For i = 1 To rsTemp.Fields.Count
should be
For i = 0 To rsTemp.Fields.Count - 1