SELECT COUNT PARA VARIAVEL [IMPORTANTE]
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
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
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)[ô]
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)[ô]
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
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
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
você testou o código que postei
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
o meu problema é outro
vou encerrar o topico e criar um novo com o problema para nao haver confusoes
blz
Tópico encerrado , respostas não são mais permitidas