FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Forma Rapida de Contar Registros *SOLUCIONADO*
Posts: 719
Joined: Fri May 12, 2017 02:50 PM
Forma Rapida de Contar Registros *SOLUCIONADO*
Posted: Thu May 20, 2021 05:28 PM
Hola Amigos

Quizás una pregunta ingenua para muchos.

Quiero saber si este una forma mas rápida de contar los registro que cumplan una condición en una Dbf, que no sea un "Do while", siempre lo he realizado recorriendo la dbf completa y preguntando si cumple condición y lo sumo.

Muchos Saludos

Antonio

Ejemplo:
Code (fw): Select all Collapse
         Sele b
        DbGotop()
        Reg:=0
        Do While !Eof()
             If Subs(b->Tip_Pag,1,2)="VI".or.Subs(b->Tip_Pag,1,2)="CH"
                   Reg:=Reg + 1
             Endif
             DbSkip()
        Enddo
FWH 22.10 - HARBOUR - PELLES C
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Forma Rapida de Contar Registros ?
Posted: Thu May 20, 2021 06:22 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 400
Joined: Fri May 11, 2007 08:20 PM
Re: Forma Rapida de Contar Registros ?
Posted: Fri May 21, 2021 01:37 AM
Hola no lo he probado pero quizas resulte con dbeval()

Code (fw): Select all Collapse
      b->( dbEval( {|| iif( Subs(b->Tip_Pag,1,2)="VI".or.Subs(b->Tip_Pag,1,2)="CH", Reg:=Reg + 1, ) },, {||b->!Eof()}))
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Forma Rapida de Contar Registros ?
Posted: Thu May 27, 2021 02:36 PM

Prueba usando la funcion

Reccount() for <condicion>

Saludos

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Forma Rapida de Contar Registros ?
Posted: Thu May 27, 2021 03:25 PM
JoseAlvarez wrote:Prueba usando la funcion

Reccount() for <condicion>

Saludos


Master José, siempre que possible, haga asi, porfa.

Code (fw): Select all Collapse
// \SAMPLES\RECCOUNT.PRG

#include "FiveWin.ch"

FUNCTION Rec_Count()

   LOCAL nRecords

   USE CUSTOMER NEW

   USE TEST NEW

   ? RecCount()

   nRecords := CUSTOMER->( RecCount() )

   ? nRecords

   CLOSE ALL

RETURN NIL

// FIN


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 719
Joined: Fri May 12, 2017 02:50 PM
Re: Forma Rapida de Contar Registros ?
Posted: Thu May 27, 2021 04:53 PM

Amigos

Muchas gracias por su ayuda.

Aplique:

Reccount() for <condicion>

Muy agradecido por su tiempo y ayuda.

Muchos Saludos.

Antonio

FWH 22.10 - HARBOUR - PELLES C
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Forma Rapida de Contar Registros *SOLUCIONADO*
Posted: Thu May 27, 2021 07:37 PM

Saludos Joao.

Tienes razón, trataré de ser más didáctico y explícito la próxima vez.

Se trata de ayudar lo más posible.

Gracias por la observación.

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.

Continue the discussion