on 10/31/03 11:45, Martin Kloss at martin.kloss .at. gmx .DO.T de wrote:
> Hi, > > I have found a buggy behavior when using "Cursor.GotoRecord()" > with a cursor that contains pointer fields. > > Example: > 2 tables, "data" and "data_types". > "data" has the fields "id, type_ptr" (a ptr to "data_types") > "data_types" has the field "type_name" > > SQL to create cursor: > "SELECT RecID, id, type_name FROM data, data_types ORDER BY id ASC" > > So I get a list of data_type names from the join. > Now I can step through the records with NextRecord() etc. > Everthing works fine. > > BUT, I want to find out how many records there are in a series of > the same data type, so I move the cursor to check when the data type > changes. > > myRecordCount = pCursor.GetRecordCount() > myCurrentPos = pCursor.GetPosition() > myCurrentDataType = pCursor.GetField("type_name") > repeat with i = myCurrentPos to myRecordCount > -- ok = pCursor.GotoRecord(myCurrentPos+1) -- THIS DOES NOT WORK > ok = pCursor.NextRecord() -- THIS WORKS > if ok then > curType = pCursor.GetField("type_name") > if curType = myCurrentDataType then > -- same datatype increment count > myCount = myCount + 1 > else > -- different datatype, break > exit repeat > end if > else > exit repeat > end if > end repeat > -- restore cursor pos > pCursor.GotoRecord(myCurrentPos) > return myCount > > Now you would expect that > > ok = pCursor.GotoRecord(myCurrentPos+1) -- THIS DOES NOT WORK > ok = pCursor.NextRecord() -- THIS WORKS > > would return the same result. But with "GotoRecord()" I ALWAYS get > the same data type, it never changes! This happens only to the fields > that are joined, not to the fields in the "data" table. > > Seems like a bug to me. Ruslan?
Send me small db and small script that this show.,
Also I wonder, why not to use GROUP BY in your case?
-- Best regards, Ruslan Zasukhin [ I feel the need...the need for speed ] ------------------------------------------------------------- e-mail: ruslan@paradigmasoft.com web: http://www.paradigmasoft.com
To subscribe to the Valentina mail list go to: http://lists.macserve.net/mailman/listinfo/valentina -------------------------------------------------------------
_______________________________________________ Valentina mailing list Valentina .at. lists .DO.T macserve.net http://lists.macserve.net/mailman/listinfo/valentina
©2003 Ruslan Zasukhin |