Hey Alex. Y'know, I've always used Fields.Append with an RS I created from scratch... maybe it can't be used with an RS that has an active connection.
Anyway, going back to your original code, I still think the length of the country field you have added is the issue. I base this mainly on the fact that it is exactly the error when I have gotten this message before, and in your original post you said you added the following line to your query:
'' as country
That won't be long enough! You are trying to add a 12 byte (or whatever length) character country name to a field that is less than that. In ADO, this results in an error. The same error you are getting.
Could be coincidence, I guess, but I really think it's worth lengthing that line to ...
' ' as country
>>Do While Not oRS.EOF
>> for i = 0 to UBound(aCountries,2)
>> if trim(aCountries(1,i)) = trim(oRS.Fields("SRE").Value) Then
>> oRS.Fields("Country").Value = aCountries(4,i) 'ERROR
>> exit for
>> end if
>> next
>>Loop
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts. - Bertrand Russell