Tempo de leitura: 2 minutos
O comando Count To em ADVPL conta registros de uma tabela/alias ativo ou de uma query(consulta) SQL.
Esse comando é muito útil em situações em que queremos saber a quantidade de registros foi retornada de uma Consulta SQL(query) ou de uma tabela selecionada(DBSelectArea).
Sintaxe:
Count To [nReg]
Parâmetro(s):
1 – Utilizando o comando Count To Para Contar Registros de uma Tabela(Área) Selecionada:
//Bibliotecas
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
#include "TOTVS.CH"
/*/{Protheus.doc} fCounTo
Exemplo da função Count To em ADVPL
@type function
@author Adilio Costa
@since 27/08/2024
@version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do Protheus:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
/*/
User Function fCounTo()
Local aArea := GetArea()
Local nReg := 0
//Seleciona a tabela de clientes SA1
DBSelectArea('SA1')
//Contando os registros e atribuindo o valor a nReg
Count To nReg
//Voltando ao topo da tabela
SA1->(DBGoTop())
MsgInfo("Total de Registros é: "+cValToChar(nReg), "Count To")
//Restaura a área
RestArea(aArea)
Return
2 – Utilizando o comando Count To Para Contar Registros de uma Consulta SQL(Query):
//Bibliotecas
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
#include "TOTVS.CH"
/*/{Protheus.doc} fCounTo2
Exemplo da função Count To em ADVPL
@type function
@author Adilio Costa
@since 27/08/2024
@version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do Protheus:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
/*/
User Function fCounTo2()
Local aArea := GetArea()
Local nReg := 0
//Monta e executa a consulta sql
cQuery := " SELECT * FROM "+RetSQLName('SA2')+" SA2 WHERE SA2.D_E_L_E_T_ = ' ' "
TCQuery cQuery New Alias "QrySA2"
//Contando os registros e voltando ao topo da query
Count To nReg
QrySA2->(DBGoTop())
MsgInfo("Total de Registros Retornados pela Query: "+cValToChar(nReg ), "Count To")
QrySA2->(DBCloseArea())
RestArea(aArea)
Return
Bem, finalizamos mais um post aqui no blog ProtheusAdvpl, espero que você tenha entendido, qualquer dúvida deixa seu comentário ou dê sugestões de conteúdo ou sugestões de melhoria aqui no blog. Grande abraço e fica com Deus.