What exactly is the problem you are having? Are you generating an error? If so, what error is it?
The code itself looks OK to me. I would make slight changes
Dim db As DAO.Database
Dim rec As DAO.Recordset
strSELECT = "SELECT DISTINCT Country "
strFROM = "FROM tblIndex;"
strSQL = strSELECT & strFROM
Set db = CurrentDb()
Set rec = db.OpenRecordset(strSQL, dbOpenSnapshot)
rec.MoveLast
rec.MoveFirst
Debug.Print rec.RecordCount
ReDim varArray(1 To rec.RecordCount)
i = 1
Do While Not rec.EOF
varArray(i) = rec("Country")
rec.MoveNext
i = i + 1
Loop
rec.Close
db.Close
Just a tip, you may want to use when posting VBA code in a thread.