Somar quantidade de linhas

(leandroauler) #1

Senhores,

Tenho um campo APURADO e no evento onRecord executo o seguinte select:

if ({Tipo} == 17) {
sc_lookup(dataset1,"
SELECT
COUNT(*) AS QUANTIDADE,
gp.Idaut AS ID,
gp.NumeroSerie AS CARTAO, 
DATE_FORMAT(gp.Data,'%d/%m/%Y') AS DATA, 
SEC_TO_TIME(gp.Hora) AS HORARIO,
gp.Aplicacao, 
gp.Transacao, 
gp.AplicacaoEmissor
FROM pass gp
WHERE 
gp.Data >= '[Datai]' AND gp.Data <= '[Dataf]' AND gp.Aplicacao in (800)
GROUP BY CARTAO HAVING QUANTIDADE > 3");

if ({dataset1} === false){

echo "Erro de acesso. Mensagem = " . {dataset1_erro};

}
elseif (empty({dataset1})){

{Apurado} = "";	

}
else {
	{Apurado} = {dataset}[0][0];	
}

}

Mas na realizada preciso exibir a quantidade de registros do select, alguem sabe como posso exibir, se tivesse fazendo no php usario o mysql_num_rows, mas no sc não sei como exibir.

Alguém tem idéia?

(leandroauler) #2

Alguém?

(Haroldo) #3

veja bem, seu assunto é muito inerente ao seu problema, não nos deixando uma forma mais fácil de entendê-lo, por isso alguns tópicos ficam sem respostas, seja mais objetivo no seu problema.

Nada impede de você usar programação que normalmente usaria num script php dentro do sc.

(leandroauler) #4

Harold,

Quero atribiur ao campo {Apurado} a quantidade de registros retornados pela consulta.

Leandro

(Haroldo) #5

faça um select count na oninit considerando as condições selecionadas no filtro e atribua as uma variável, e na onrecord move o valor dessa variável ao campo desejado.

(leandroauler) #6

Não tem uma maneira mais simples no sc… Uma coisa tão simples mysql_num_rows;

(Haroldo) #7

se você colocar a consulta no modo debug, vai ver que o sc executa várias querys, como vai saber que o mysql_num_rows vai retornar a quantidades de registros da consulta? e quer algo mais simples que executar um select count(*)? o tempo que discutimos aqui já teria feito.
Pode ser que o SC já tenha alguma váriavel guardando esse valor, é uma questão de estudar o fonte gerado.