Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mblack

Select gera erro

Recommended Posts

Erro: Runtime error '-2147217887' (80040e21)Descricao: Voce tentou executar uma consulta que nao inclui a expressao 'Total' especificada como parte de uma funcao agregada.O Select é o seguinte: db_file = App.Path & "\os.mdb" Set cn = New ADODB.Connection cn.CursorLocation = adUseClient cn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & db_file & ";" & _ "Persist Security Info=False" cn.Open SQLstmt = "SELECT Total, sum(Total) as SomaDaOS, Numero_da_OS from Itens where Numero_da_OS = " & OS.txtFields1(0).Text & " Order by Numero_da_OS" Set rs2 = New ADODB.Recordset rs2.Open SQLstmt, cnOnde a intencao é apenas selecionar os registros da tabela itens que contiverem um valor do field Numero_da_OS igual ao objeto textbox (OS.txtFields1(0)) e somar os fields Total.Estou usando o VB 6Cordialmente,Moacir Junior

Compartilhar este post


Link para o post
Compartilhar em outros sites

se tirar esse primeiro total ai naum funciona:

 

SQLstmt = "SELECT Total, sum(Total) as SomaDaOS, Numero_da_OS from Itens where Numero_da_OS = " & OS.txtFields1(0).Text & " Order by Numero_da_OS"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara faz assim:

SELECT Total, (select sum(total) from itens b where b.Numero_da_OS = a.Numero_da_OS) as SomaDaOS, Numero_da_OS from Itens a where Numero_da_OS = " & OS.txtFields1(0).Text & " Order by Numero_da_OS

Compartilhar este post


Link para o post
Compartilhar em outros sites

se tirar esse primeiro total ai naum funciona:

 

SQLstmt = "SELECT Total, sum(Total) as SomaDaOS, Numero_da_OS from Itens where Numero_da_OS = " & OS.txtFields1(0).Text & " Order by Numero_da_OS"

ahhh sim..... ta faltando o group by ai, operador de agregação... ontem vi o order by e confundi com o group by... heheh

 

 

 

SQLstmt = "SELECT Total, sum(Total) as SomaDaOS, Numero_da_OS from Itens where Numero_da_OS = " & OS.txtFields1(0).Text & "Group by Numero_da_OS, Total Order by Numero_da_OS"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu o erro: "tipo de dados incompativeis na expressao de criterio"No BD os campos sao tipo TEXT, declarei a variavel SOMADAOS como CURRENCY.Minha cabeca ta doendo já heheheheheMuito obrigado pela atencao amigos !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voces teriam alguma rotina para somar/sutrair valores de um DATAGRID, isto ja ajudaria a solucionar o meu problema, pois a minha intencao é:Quando o formulario for aberto, listar os itens de uma determinada OS, e caso seja inserido um novo item ele acrescente ao VALOR TOTAL, e se for o caso, removido algum item, ele subtraia.Muito GratoMoacir Junior

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.