You should not do this to test the q.GetRow value:
Code: Select all
LOCATE 18, 7 : PRINT "before q.FinalizeQuery q.GetRow = "; q.GetRow() <------- added this line
Doing it that way actually calls the GetRow() method again rather than telling you what the most recent return value of the call is!
You have two options:
(1) Save the return value in a variable and then display that value:
Dim nRet As Long
nRet = q.GetRow()
Save the LastError value immediately after calling the GetRow() method:
DO WHILE q.GetRow()
nRet = q.LastError
LOCATE 18, 7 : PRINT "q.GetRow = "; nRet
I guess that the lesson here is that q.GetRow() is not a variable, it is a method that actually does something every time you reference it.