Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 786
  • Last Modified:

GetRows returns an array with ubound -1

The recordset returned has only one record.  Stepping through the code shows the recordcount as 1 (correctly) when this is executed:
    rs.MoveLast
    ....

    If xErr = 3021 Then
        fExtractDataByStore = 0
    Else
        rs.MoveFirst
        vData = rs.GetRows(rs.RecordCount)
        fExtractDataByStore = rs.RecordCount
        Debug.Print LBound(vdata, 1), Ubound(vdata, 1)
        Debug.Print LBound(vdata, 2), Ubound(vdata, 2)
    End If

The debug output looks like this:
0 -1
0 7

The recordset has no problems, all the fields have data, but the GetRows is not returning useful information.

This is confusing me.
0
PaulHews
Asked:
PaulHews
  • 2
1 Solution
 
rpaiCommented:
Works fine for me.
I tried the following lines of code:-
Dim vData As Variant
vData = rs.GetRows(1)
Debug.Print LBound(vData, 1), UBound(vData, 1)
Debug.Print LBound(vData, 2), UBound(vData, 2)

The debug output looks like this:-
 0             8 (My recordset has 8 fields)
 0             0
0
 
PaulHewsAuthor Commented:
I also tried hardcoding the NumRows parameter and tried compacting the database incase recordcount was doing something funny.  Still the weird ubound.
0
 
PaulHewsAuthor Commented:
Just found the problem.  Had an expression in one of the selected fields that evaluated to a division by zero on this particular run.  It didn't cough up any errors other than the messed up GetRows (although trying to inspect that particular field did give me a "duplicate definition" error, weird, huh?)  Solved it using an IIF function in the expression.  Thanks for trying to help here, I appreciate it.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now