Pregunta sobre pasar el valor del count a una variable

1,212 views
Skip to first unread message

emr

unread,
Jan 24, 2011, 1:18:08 AM1/24/11
to Comunidad de Visual Foxpro en Español
Hola saludos a todos

Quisiera saber si alguien me puede decir como pasar el valor del count
a una variable.

Necesito saber cuantos registros tiene una tabla y ese valor
depositarlo en una variable.

De antemano muchas gracias por su ayuda como siempre.

saludos

Enrique Martinez Regalado
Puerto Vallarta, Jalisco México

Alan Sanier Gmail

unread,
Jan 24, 2011, 7:37:58 AM1/24/11
to publice...@googlegroups.com
Buenos días,
 
Para sabes cuantos registros tiene una tabla o cursor se utiliza el count.
 
Sintaxis:
 
public var_almacena
Select tabla
count all to var_almacena
 
wait window 'Total de Registros : ' + alltrim(str(var_almacena))
 
Alan Sanier
Asunción - Paraguay
 
-------Mensaje original-------
Animaciones GRATIS para tu correo electrónico - ¡Por IncrediMail! ¡Haz clic aquí!
faint_grain.jpg
imstp_animation_monkey_es_030908.gif

Carlos Miguel FARIAS

unread,
Jan 24, 2011, 8:03:20 AM1/24/11
to publice...@googlegroups.com
El comando count solo se justifica si hay conteo condicionado (for), si no, la función reccount() te devuelve la cantidad de registros de la tabla, es mucho mas rapido, ya que accede a la información en la cabecera de la tabla.
Si queres saber cuantos registros te selecciono un SELECT, podes (despues de ejecutar el select) leer el valor en la variable publica del sistema _tally

Victor Espina

unread,
Jan 24, 2011, 8:09:21 AM1/24/11
to Comunidad de Visual Foxpro en Español
El problema con RECCOUNT() es que tambien toma en cuenta los registros
marcados como eliminados, por lo que solo es confiable en cursores
temporales donde no se ha borrado ningun registro o luego de un PACK.

Victor

On 24 ene, 10:03, Carlos Miguel FARIAS <carlosmiguelfar...@gmail.com>
wrote:
> El comando count solo se justifica si hay conteo condicionado (for), si no,
> la función reccount() te devuelve la cantidad de registros de la tabla, es
> mucho mas rapido, ya que accede a la información en la cabecera de la tabla.
> Si queres saber cuantos registros te selecciono un SELECT, podes (despues de
> ejecutar el select) leer el valor en la variable publica del sistema _tally
>
> El 24 de enero de 2011 09:37, Alan Sanier Gmail <cybar...@gmail.com>escribió:
>
>
>
>
>
>
>
> >    Buenos días,
>
> > Para sabes cuantos registros tiene una tabla o cursor se utiliza el count.
>
> > Sintaxis:
>
> > public var_almacena
> > Select tabla
> > count all to var_almacena
>
> > wait window 'Total de Registros : ' + alltrim(str(var_almacena))
>
> > Alan Sanier
> > Asunción - Paraguay
>
> > *-------Mensaje original-------*
>
> >  *De:* emr <emr99...@gmail.com>
> > *Fecha:* 01/24/11 09:11:22
> > *Para:* Comunidad de Visual Foxpro en Español<publice...@googlegroups.com>
> > *Asunto:* [vfp] Pregunta sobre pasar el valor del count a una variable
>
> > Hola saludos a todos
>
> > Quisiera saber si alguien me puede decir como pasar el valor del count
> > a una variable.
>
> > Necesito saber cuantos registros tiene una tabla y ese valor
> > depositarlo en una variable.
>
> > De antemano muchas gracias por su ayuda como siempre.
>
> > saludos
>
> > Enrique Martinez Regalado
> > Puerto Vallarta, Jalisco México
> >     [image: Animaciones GRATIS para tu correo electrónico - ¡Por
> > IncrediMail! ¡Haz clic aquí!]<http://www.incredimail.com/index.asp?id=109333>

Luis Maria Guayan

unread,
Jan 24, 2011, 8:12:23 AM1/24/11
to publice...@googlegroups.com
Como indica Carlos, RECCOUNT() es mas rápido, pero hay que tener presente que muestra la cantidad de TODOS los registros, incluidos los marcados para eliminación (DELETED())

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

 

Moises Daniel Vilchez Tello

unread,
Jan 24, 2011, 9:34:19 AM1/24/11
to publice...@googlegroups.com
function f_get_data
LPARAMETERS strSQL
=EjectSql(strSQL, 'cur_dat_key_select')
SELECT cur_dat_key_select
GO TOP
vValor = cur_dat_key_select.dato
RETURN vValor
ENDFUNC


valor = f_get_data ("select count(*)::integer as dato from cuenta c inner join cuenta_sucursal cs on c.codcta = cs.codcta where cs.codsuc='&gs_cod_suc' and c.codcta = '&vCta'"")



donde valor es el total de tus registros, ojo q al select lo puedes condicionar con un where, saludos

Enrique Martinez

unread,
Jan 24, 2011, 10:11:20 AM1/24/11
to publice...@googlegroups.com
Gracias a todos por contestar, encontré algo en la red y me funcionó,
aqui dejo el ejemplo y me comentan si es correcto ?

SELECT COUNT(*) FROM movspventa INTO ARRAY lnCount

? lnCount

Saludos y muchas gracias

Enrique Martinez


2011/1/24 Moises Daniel Vilchez Tello <mvil...@gmail.com>:

Jairo Miranda

unread,
Jan 24, 2011, 12:21:47 PM1/24/11
to publice...@googlegroups.com

Buenos días

Siempe uso la función  asi

Ejemplo

Select * from tabla where !deteted() into cursor cursor_1

La sub-consulta traerá solo los registros que no están borrados

If reccount()>0  

 * procesar regsitros

Else

    * no hay registros ...

Endif

-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Victor Espina
Enviado el: Lunes, 24 de Enero de 2011 08:09
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Pregunta sobre pasar el valor del count a una variable

Carlos Miguel FARIAS

unread,
Jan 24, 2011, 5:12:22 PM1/24/11
to publice...@googlegroups.com
Lo de Jairo parece lo mas acertado, porque las otras funciones no estan afectadas por el SET DELETED?? y puede ser optimo si hay un indice binario por deleted (ver como hacerlo en la ayuda)

Enrique Martinez

unread,
Jan 25, 2011, 1:35:15 AM1/25/11
to publice...@googlegroups.com
gracias voy a intentarlo y les comento.

saludos y gracias por su ayuda

Enrique Martinez

El día 24 de enero de 2011 16:12, Carlos Miguel FARIAS
<carlosmig...@gmail.com> escribió:

Reply all
Reply to author
Forward
0 new messages