I am reading an recordset into an array using getrows, but my recordset has 38 records but my array has 46!!

If I loop through the array, it errors on number 38 (as expected). I am using UBound to find the array length.

can anyone think what is going wrong, without the need to post my code (step 2!)?