VB COM SQL - CONTAR REGISTROS TOTALIZANDO EM OUTRA

MARCELO.TREZE 12/06/2011 15:43:17
#376568
sabe qual o problema

estes campos

IDADE/Texto/6
IDADEMES/Texto/6
IDADEDIA/Texto/6

eles deveriam ser do tipo numero, para a consulta funcionar assim

... [Ô]WHERE [Idade] = 0 And [Idademes] = 0 And [Idadedia] > 0 And [A_sexo] = [ô]F[ô][Ô]

como numero esta consulta funcionaria.


NAMON 12/06/2011 18:04:21
#376572
Marcelo

Vou testar e posto aqui!

Enéa
KERPLUNK 13/06/2011 09:11:00
#376601
Substitua:
Dim Qtreg As Integer
por:
Dim Qtreg As Long
NAMON 15/06/2011 15:48:26
#376850
Boa tarde colaboradores!

Consegui concluir a rotina, juntando as dicas dos colegas e posto abaixo como ficou:

Private Function Contagem() As Double
Dim SQL As String
Dim QtReg As Integer
Dim Criancas As RecordSet
Dim Total As Integer
SQL = [Ô]SELECT Count(Criancas.Idadedia) as Total From Criancas Where[Ô] & _
[Ô]((Criancas.Idadedia > 0) And (Criancas.A_sexo = [ô]F[ô]))[Ô]
Set Criancas = vgDb(2).OpenRecordSet(SQL, dbOpenDynaset)
QtReg = Criancas!Total
Contagem = QtReg
End Function

Concluída, mas resta ainda resolver o problema de lentidão e repetição da contagem nas linhas (mesma quantidade de linhas da tabela básica), ou seja:
a) para contagem dos registros de uma tabela com 5.316 registros, levou 7 minutos!!!
b) o valor da contagem (TOTAL) é repetido nas mesmas 5.316 linhas da tabela destino!!!

Teria como solucionar essas pendências?
Do modo como está é inviável utilizar essa rotina!

Enéa
MARCELO.TREZE 15/06/2011 15:54:18
#376851
porque é contado duas vezes?
ALELUIZ 15/06/2011 16:23:02
#376863
quantos usuários acessam o bd ? o bd está em rede ou local ? não compreendi tabela destino , a consulta te mostra somente o valor total de registros encontrados com os devidos filtros. voce está chamando esta função de outra consulta? fiz o teste aqui e levou 1 segundo.

NAMON 15/06/2011 18:59:19
#376886
Por enquanto estou nos testes de laboratório.
Somente uma máquina!
A Linha [Ô]Contagem = QtReg[Ô] é que atualiza campo de outra tabela. Estou fazendo essa rotina para lançamento em outra tabela do BD.

Enéa
NAMON 18/06/2011 15:06:34
#377156
Obrigado a todos pela ajuda que prestaramaomeu tópico.Em especial ao Marcelo.Treze.
Ainda nçao consegui acelerar a rotina, mas várias dúvidas sobre SQL foram satisfeitas.
Encerro o tópico!
Página 2 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas