FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Count xbrowse records
Posts: 253
Joined: Wed May 25, 2016 01:04 AM
Count xbrowse records
Posted: Thu Feb 22, 2024 11:13 AM

Hi, I have a xbrowse:

Lista40:cAlias := "ARQANO"

How I count records? I don't want the deleted ones to enter the sum.

Thanks!

Posts: 7318
Joined: Thu Oct 18, 2012 07:17 PM
Re: Count xbrowse records
Posted: Thu Feb 22, 2024 01:11 PM

perhaps

len(oBrw:aArrayData )

or

oBrw:nDataRows

Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Count xbrowse records
Posted: Fri Feb 23, 2024 04:07 AM
With or without XBrowse, we need to know the number of records in a DBF which are not deleted.
There is no simple function for this.

Does not matter whether SET DELETED is ON or OFF:

Both LASTREC() and RECCOUNT() include deleted records also.
ORDKEYCOUNT() also does not exclude deleted records by itself, but honors filters, scopes and index expressions.

So,

1)
Code (fw): Select all Collapse
SET FILTER TO !DELETED()
? OrdKeyCount()
2)
Code (fw): Select all Collapse
INDEX ON RECNO() TAG RECS FOR !DELETED() // keep this index tag also
// then
? OrdKeyCount( "RECS" )
3)
Code (fw): Select all Collapse
INDEX ON RECNO() TAG DELS FOR DELETED() // kee this index tag also
? OrdKeyCount(0) - OrdKeyCount( "DELS" )
Regards



G. N. Rao.

Hyderabad, India
Posts: 7318
Joined: Thu Oct 18, 2012 07:17 PM
Re: Count xbrowse records
Posted: Fri Feb 23, 2024 01:26 PM
nageswaragunupudi wrote:With or without XBrowse, we need to know the number of records in a DBF which are not deleted.
There is no simple function for this.

Does not matter whether SET DELETED is ON or OFF:

Both LASTREC() and RECCOUNT() include deleted records also.
ORDKEYCOUNT() also does not exclude deleted records by itself, but honors filters, scopes and index expressions.

So,

1)
Code (fw): Select all Collapse
SET FILTER TO !DELETED()
? OrdKeyCount()
2)
Code (fw): Select all Collapse
INDEX ON RECNO() TAG RECS FOR !DELETED() // keep this index tag also
// then
? OrdKeyCount( "RECS" )
3)
Code (fw): Select all Collapse
INDEX ON RECNO() TAG DELS FOR DELETED() // kee this index tag also
? OrdKeyCount(0) - OrdKeyCount( "DELS" )

Nages,

is there a function in Xbrowse to calculate how many records are visible in xbrowse?

I explain to you:
at the bottom of the Xbrowse I want to insert two buttons to move the records and I want them to be activated only if the record count exceeds the actual display of the Xbrowse
Code (fw): Select all Collapse
@ 148, 320  BTNBMP aBtnBrow[1] ;
     RESOURCE "DWN_TBL", "", hBmp, "" ;
      SIZE 15, 13 PIXEL FLAT NOROUND GDIP WHEN lArrows  OF oDlg ;
      ACTION oBrw:KeyDown(VK_UP, 0)

 @ 148, 335 BTNBMP  BTNBMP aBtnBrow[2] ;
     RESOURCE "UP_TBL", "", hBmp1, "" ;
      SIZE 15, 13 PIXEL FLAT NOROUND GDIP WHEN lArrows OF oDlg ;
      ACTION oBrw:KeyDown(VK_DOWN, 0)
For example, if I have an Xbrowse in which 20 records are displayed at a time but there are more records in the archive (for example 50)
the lArrows must be true
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 253
Joined: Wed May 25, 2016 01:04 AM
Re: Count xbrowse records
Posted: Fri Feb 23, 2024 04:38 PM
Silvio.Falconi wrote:perhaps

len(oBrw:aArrayData )

or

oBrw:nDataRows
Thank you!
Posts: 253
Joined: Wed May 25, 2016 01:04 AM
Re: Count xbrowse records
Posted: Fri Feb 23, 2024 04:39 PM
nageswaragunupudi wrote:With or without XBrowse, we need to know the number of records in a DBF which are not deleted.
There is no simple function for this.

Does not matter whether SET DELETED is ON or OFF:

Both LASTREC() and RECCOUNT() include deleted records also.
ORDKEYCOUNT() also does not exclude deleted records by itself, but honors filters, scopes and index expressions.

So,

1)
Code (fw): Select all Collapse
SET FILTER TO !DELETED()
? OrdKeyCount()
2)
Code (fw): Select all Collapse
INDEX ON RECNO() TAG RECS FOR !DELETED() // keep this index tag also
// then
? OrdKeyCount( "RECS" )
3)
Code (fw): Select all Collapse
INDEX ON RECNO() TAG DELS FOR DELETED() // kee this index tag also
? OrdKeyCount(0) - OrdKeyCount( "DELS" )
Mr Nages thank you! I solved it by adding the !deleted() in index

Continue the discussion