SELECT COUNT PARA VARIAVEL [IMPORTANTE]

SYSZEN 22/05/2012 19:52:18
#402500
Pessoal caso eu carrege no botao onde tenho o codigo ele vai-me fazendo 1 de cada vez , mas faz
tipo

id
14,15,16,14

carrego 1x
14
2

carrego 2x
14,15
2,1

percebem ? ele ta a fazer mas 1 de cada vez, logo 10 ids diferentes tinha qe carregar 10x
o estranho é que ele tem o [Ô]DO[Ô] e so faz 1
como eu suponho ser do select
SYSZEN 23/05/2012 08:23:42
#402522
pessoal eu meti um for de 1 a 3 para testar e ja funciona , mas so ate 3 produtos portanto agora so preciso de fazer um count distinct para contar quantos ids sao diferentes para usar
ex: for x=1 to variavel

Private Sub diferentes()
conta.RecordSource = [Ô]SELECT COUNT (DISTINCT id) FROM conta as diff[Ô]
conta.Refresh
dif = conta.Recordset.Fields([Ô]diff[Ô])
conta.RecordSource = [Ô]select * from conta[Ô]
End Sub

eu tenho isto mas da-me erro na sintaxe do select mas ela está bem a meu ver
[txt-color=#e80000]ERRO : [/txt-color]
error 3075 : syntax error (missing operator) in query expression [ô]COUNT (DISTINCT id)[ô]
MARCELO.TREZE 23/05/2012 11:13:39
#402540
Bom vamos tentar resolver veja como o laço deveria ser


conta.Recordset.MoveFirst[txt-color=#007100] [ô] Move para o Primeiro Registro[/txt-color]
conta.RecordSource = [Ô]select * from conta[Ô] [txt-color=#007100][ô] define como será o select[/txt-color]
conta.refresh
Do While Not Conta.RecordSet.EOF
[ô]
[txt-color=#007100][ô] bom aqui você coloca o que deseja fazer que não entendi ainda o que é[/txt-color]
[ô]
conta.Recordset.MoveNext [txt-color=#007100][ô] move para o proximo registro[/txt-color]
Loop

SYSZEN 23/05/2012 11:19:16
#402541
marcelo eu ja resolvi a parte de passar para o proximo registo meti tudo dentro de um for ele funciona
agora o problema é fazer um select count (distinct variavel) para saber quandos ids diferentes existem para o for funcionar perfeitamente
[txt-color=#e80000]ex : for x=1 to variavel do count distinct [/txt-color]
eu contei quantos ids tinha diferentes (sao 3) e fiz o [txt-color=#e80000]for x=1 to 3 [/txt-color]e deu resultado agora o problema e se é mais nao sao 3 xD
logo tenho que fazer um select count(distinct variavel) para funcionar mais nada

veja

Private Sub diferentes()
conta.RecordSource = [Ô]SELECT COUNT (DISTINCT id) FROM conta as diff[Ô][txt-color=#e80000] (o meu select)[/txt-color]
conta.Refresh [txt-color=#e80000](para actualizar a bd com o select)[/txt-color]
dif = conta.Recordset.Fields([Ô]diff[Ô]) [txt-color=#e80000](guarda o valor do select)[/txt-color]
conta.RecordSource = [Ô]select * from conta[Ô] [txt-color=#e80000](ele retira o select senao o select restringe o resto do programa ao select)[/txt-color]
End Sub

ele devia ser assim so qe o vb6 com bd de access nao deixa agregar o count(distinct) percebe?
e da-me o erro
[txt-color=#e80000]ERRO : [/txt-color]
error 3075 : syntax error (missing operator) in query expression [ô]COUNT (DISTINCT id)[ô]

obrigado pela voça ajuda até agora neste problema
MARCELO.TREZE 23/05/2012 11:48:42
#402544
você testou o código que postei

SYSZEN 23/05/2012 11:51:06
#402546
eu ja tenho a funcionar percebe ? eu ja nao preciso do codigo para passar para registo seguinte etc
o meu problema é outro

vou encerrar o topico e criar um novo com o problema para nao haver confusoes
MARCELO.TREZE 23/05/2012 12:10:13
#402549
blz
Página 3 de 3 [27 registro(s)]
Tópico encerrado , respostas não são mais permitidas