Consulta SQL
Olá pessoal,
Estou precisando fazer a seguinte consulta:
[color=blue:db927acfa4]DMDados.ABAS.Close;
DMDados.ABAS.SQL.Clear;
DMDados.ABAS.SQL.Add(´SELECT TB_Concludentes.Protocolo1, TB_Concludentes.Ano, Count(TB_Concludentes.AnoDaConclusao) AS ContarDeAnoDaConclusao FROM TB_Concludentes GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano [COLOR=red]WHERE[/color:db927acfa4] Ano:P1´);
DMDados.ABAS.Parameters.ParamByName(´P1´).Value:=Edit3.Text;
DMDados.ABAS.Open;[/COLOR]
Mas está dando o seguinte erro:
[Microsoft][Driver ODBC para Microsft Access] Erro de sintaxe (Operador faltando) na expressão ´TB_Concludentes.Ano WHERE Ano?´
Por favor, o q está faltando na expressão?
Já tentei mudar de WHERE para HAVING:
[color=blue:db927acfa4]DMDados.ABAS.Close;
DMDados.ABAS.SQL.Clear;
DMDados.ABAS.SQL.Add(´SELECT TB_Concludentes.Protocolo1, TB_Concludentes.Ano, Count(TB_Concludentes.AnoDaConclusao) AS ContarDeAnoDaConclusao FROM TB_Concludentes GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano [COLOR=red]HAVING[/color:db927acfa4] Ano:P1´);
DMDados.ABAS.Parameters.ParamByName(´P1´).Value:=Edit3.Text;
DMDados.ABAS.Open;[/COLOR]
Pro favor, o q está faltando?
Grato,
Ilano.
Estou precisando fazer a seguinte consulta:
[color=blue:db927acfa4]DMDados.ABAS.Close;
DMDados.ABAS.SQL.Clear;
DMDados.ABAS.SQL.Add(´SELECT TB_Concludentes.Protocolo1, TB_Concludentes.Ano, Count(TB_Concludentes.AnoDaConclusao) AS ContarDeAnoDaConclusao FROM TB_Concludentes GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano [COLOR=red]WHERE[/color:db927acfa4] Ano:P1´);
DMDados.ABAS.Parameters.ParamByName(´P1´).Value:=Edit3.Text;
DMDados.ABAS.Open;[/COLOR]
Mas está dando o seguinte erro:
[Microsoft][Driver ODBC para Microsft Access] Erro de sintaxe (Operador faltando) na expressão ´TB_Concludentes.Ano WHERE Ano?´
Por favor, o q está faltando na expressão?
Já tentei mudar de WHERE para HAVING:
[color=blue:db927acfa4]DMDados.ABAS.Close;
DMDados.ABAS.SQL.Clear;
DMDados.ABAS.SQL.Add(´SELECT TB_Concludentes.Protocolo1, TB_Concludentes.Ano, Count(TB_Concludentes.AnoDaConclusao) AS ContarDeAnoDaConclusao FROM TB_Concludentes GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano [COLOR=red]HAVING[/color:db927acfa4] Ano:P1´);
DMDados.ABAS.Parameters.ParamByName(´P1´).Value:=Edit3.Text;
DMDados.ABAS.Open;[/COLOR]
Pro favor, o q está faltando?
Grato,
Ilano.
Ilanocf
Curtidas 0
Respostas
Jeancamila
09/05/2003
Me desculpe, nao entendi a sua query.
o que vc quer dizer com :
[COLOR=red]
Jean
o que vc quer dizer com :
[COLOR=red]
Jean
GOSTEI 0
Aroldo Zanela
09/05/2003
Ilano,
AS ContarDeAnoDaConclusao FROM TB_Concludentes GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano WHERE Ano = :P1´);
Faltou o operador de comparação ou lógico. No caso eu usei o de igualdade.
Foi respondido também no FórumWeb.
AS ContarDeAnoDaConclusao FROM TB_Concludentes GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano WHERE Ano = :P1´);
Faltou o operador de comparação ou lógico. No caso eu usei o de igualdade.
Foi respondido também no FórumWeb.
GOSTEI 0
Aroldo Zanela
09/05/2003
Ilano,
[list:f4e424a1ad]
AS ContarDeAnoDaConclusao FROM TB_Concludentes GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano WHERE Ano = :P1´);
[/list:u:f4e424a1ad]
Faltou o operador de comparação ou lógico. No caso eu usei o de igualdade.
Foi respondido também no FórumWeb.
[list:f4e424a1ad]
AS ContarDeAnoDaConclusao FROM TB_Concludentes GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano WHERE Ano = :P1´);
[/list:u:f4e424a1ad]
Faltou o operador de comparação ou lógico. No caso eu usei o de igualdade.
Foi respondido também no FórumWeb.
GOSTEI 0
Aborges
09/05/2003
a condição WHERE deve estar antes do GROUP BY
SELECT TB_Concludentes.Protocolo1, TB_Concludentes.Ano,
Count(TB_Concludentes.AnoDaConclusao) AS ContarDeAnoDaConclusao
FROM TB_Concludentes
WHERE Ano:P1
GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano [COLOR=red]
exprimente também colocar
DMDados.ABAS.Parameters.ParamByName(´P1´).Value:=Edit3.Text;
antes de
DMDados.ABAS.Close;
DMDados.ABAS.SQL.Clear;
......
SELECT TB_Concludentes.Protocolo1, TB_Concludentes.Ano,
Count(TB_Concludentes.AnoDaConclusao) AS ContarDeAnoDaConclusao
FROM TB_Concludentes
WHERE Ano:P1
GROUP BY TB_Concludentes.Protocolo1, TB_Concludentes.Ano [COLOR=red]
exprimente também colocar
DMDados.ABAS.Parameters.ParamByName(´P1´).Value:=Edit3.Text;
antes de
DMDados.ABAS.Close;
DMDados.ABAS.SQL.Clear;
......
GOSTEI 0
Adilsond
09/05/2003
with DMDados.ABAS do begin if Active then Close; SQL.Clear; SQL.Add(´SELECT TB_Concludentes.Protocolo1,´); SQL.Add(´ TB_Concludentes.Ano,´); SQL.Add(´ Count(TB_Concludentes.AnoDaConclusao) AS ContarDeAnoDaConclusao´); SQL.Add(´FROM TB_Concludentes´); SQL.Add(´WHERE Ano = :P1´); SQL.Add(´GROUP BY TB_Concludentes.Protocolo1,´); SQL.Add(´ TB_Concludentes.Ano´); Parameters.ParamByName(´P1´).Value := Edit3.Text; Open; end; end;
SELECT ...
FROM ...
WHERE ...
GROUP BY ...
HAVING ...
ORDER BY ...
GOSTEI 0