Forma Rapida de Contar Registros *SOLUCIONADO*

Forma Rapida de Contar Registros *SOLUCIONADO*

Postby remtec » Thu May 20, 2021 5: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: Select all  Expand view  RUN

         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

 
Last edited by remtec on Thu May 27, 2021 4:54 pm, edited 1 time in total.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Forma Rapida de Contar Registros ?

Postby karinha » Thu May 20, 2021 6:22 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7844
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Forma Rapida de Contar Registros ?

Postby artu01 » Fri May 21, 2021 1:37 am

Hola no lo he probado pero quizas resulte con dbeval()

Code: Select all  Expand view  RUN

      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
artu01
 
Posts: 400
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: Forma Rapida de Contar Registros ?

Postby JoseAlvarez » Thu May 27, 2021 2: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.
User avatar
JoseAlvarez
 
Posts: 800
Joined: Sun Nov 09, 2014 5:01 pm

Re: Forma Rapida de Contar Registros ?

Postby karinha » Thu May 27, 2021 3:25 pm

JoseAlvarez wrote:Prueba usando la funcion

Reccount() for <condicion>

Saludos


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

Code: Select all  Expand view  RUN

// \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
User avatar
karinha
 
Posts: 7844
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Forma Rapida de Contar Registros ?

Postby remtec » Thu May 27, 2021 4: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
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Forma Rapida de Contar Registros *SOLUCIONADO*

Postby JoseAlvarez » Thu May 27, 2021 7: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.
User avatar
JoseAlvarez
 
Posts: 800
Joined: Sun Nov 09, 2014 5:01 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 99 guests