Fórum Consulta SQL #195124
14/11/2003
0
Olá pessoal,
Estou tentando efetuar a seguinte consulta:
With DMConsultas.Questionario Do
Begin
Close;
SQL.Clear;
SQL.Add(´SELECT DISTINCTROW TB_Avaliacao.AnoDaAvaliacao, TB_Avaliacao.CodigoDoPforessor, TB_Avaliacao.CodigoDoCurso, TB_Avaliacao.CodigoDaDisciplina,´);
SQL.Add(´ First(TB_DetalhesDaAvaliacao.CodigoDaPergunta) AS [Primeiro De CodigoDaPergunta], TB_DetalhesDaAvaliacao.Pergunta,´);
SQL.Add(´ First(TB_DetalhesDaAvaliacao.CodigoDaResposta) AS [Primeiro De CodigoDaResposta], TB_DetalhesDaAvaliacao.Resposta,´);
SQL.Add(´ Sum(TB_DetalhesDaAvaliacao.Contador) AS Soma_De_Contador, (([Soma_De_Contador]*100)/Sum([Contador])/100) AS Percentual´);
SQL.Add(´SELECT FROM TB_Avaliacao INNER JOIN TB_DetalhesDaAvaliacao ON TB_Avaliacao.CodigoDaAvaliacao = TB_DetalhesDaAvaliacao.CodigoDaAvaliacao´);
SQL.Add(´GROUP BY TB_Avaliacao.AnoDaAvaliacao, TB_Avaliacao.CodigoDoPforessor, TB_Avaliacao.CodigoDoCurso, TB_Avaliacao.CodigoDaDisciplina, TB_DetalhesDaAvaliacao.Pergunta, TB_DetalhesDaAvaliacao.Resposta´);
SQL.Add(´WHERE TB_Avaliacao.CodigoDoPforessor LIKE : P1´);
SQL.Add(´ORDER BY TB_Avaliacao.CodigoDoPforessor, First(TB_DetalhesDaAvaliacao.CodigoDaPergunta)´);
Parameters.ParamByName(´P1´).Value:=StrToIntDef(Edit1.Text, 0);
Open;
End;
Mas está dando o seguinte erro:
Parameter P1 not found
O q está errado?
No componente SQL está assim:
SELECT DISTINCTROW TB_Avaliacao.AnoDaAvaliacao, TB_Avaliacao.CodigoDoPforessor, TB_Avaliacao.CodigoDoCurso, TB_Avaliacao.CodigoDaDisciplina, First(TB_DetalhesDaAvaliacao.CodigoDaPergunta) AS [Primeiro De CodigoDaPergunta], TB_DetalhesDaAvaliacao.Pergunta, First(TB_DetalhesDaAvaliacao.CodigoDaResposta) AS [Primeiro De CodigoDaResposta], TB_DetalhesDaAvaliacao.Resposta, Sum(TB_DetalhesDaAvaliacao.Contador) AS Soma_De_Contador, (([Soma_De_Contador]*100)/Sum([Contador])/100) AS Percentual
FROM TB_Avaliacao INNER JOIN TB_DetalhesDaAvaliacao ON TB_Avaliacao.CodigoDaAvaliacao = TB_DetalhesDaAvaliacao.CodigoDaAvaliacao
GROUP BY TB_Avaliacao.AnoDaAvaliacao, TB_Avaliacao.CodigoDoPforessor, TB_Avaliacao.CodigoDoCurso, TB_Avaliacao.CodigoDaDisciplina, TB_DetalhesDaAvaliacao.Pergunta, TB_DetalhesDaAvaliacao.Resposta
ORDER BY TB_Avaliacao.CodigoDoPforessor, First(TB_DetalhesDaAvaliacao.CodigoDaPergunta);
Quando habilito a opção Active como True, não dá nenhum problema.
O q será q pode estar errado no código anterior?
A tabela é Access 97.
Grato por sua ajuda,
Ilano.
Estou tentando efetuar a seguinte consulta:
With DMConsultas.Questionario Do
Begin
Close;
SQL.Clear;
SQL.Add(´SELECT DISTINCTROW TB_Avaliacao.AnoDaAvaliacao, TB_Avaliacao.CodigoDoPforessor, TB_Avaliacao.CodigoDoCurso, TB_Avaliacao.CodigoDaDisciplina,´);
SQL.Add(´ First(TB_DetalhesDaAvaliacao.CodigoDaPergunta) AS [Primeiro De CodigoDaPergunta], TB_DetalhesDaAvaliacao.Pergunta,´);
SQL.Add(´ First(TB_DetalhesDaAvaliacao.CodigoDaResposta) AS [Primeiro De CodigoDaResposta], TB_DetalhesDaAvaliacao.Resposta,´);
SQL.Add(´ Sum(TB_DetalhesDaAvaliacao.Contador) AS Soma_De_Contador, (([Soma_De_Contador]*100)/Sum([Contador])/100) AS Percentual´);
SQL.Add(´SELECT FROM TB_Avaliacao INNER JOIN TB_DetalhesDaAvaliacao ON TB_Avaliacao.CodigoDaAvaliacao = TB_DetalhesDaAvaliacao.CodigoDaAvaliacao´);
SQL.Add(´GROUP BY TB_Avaliacao.AnoDaAvaliacao, TB_Avaliacao.CodigoDoPforessor, TB_Avaliacao.CodigoDoCurso, TB_Avaliacao.CodigoDaDisciplina, TB_DetalhesDaAvaliacao.Pergunta, TB_DetalhesDaAvaliacao.Resposta´);
SQL.Add(´WHERE TB_Avaliacao.CodigoDoPforessor LIKE : P1´);
SQL.Add(´ORDER BY TB_Avaliacao.CodigoDoPforessor, First(TB_DetalhesDaAvaliacao.CodigoDaPergunta)´);
Parameters.ParamByName(´P1´).Value:=StrToIntDef(Edit1.Text, 0);
Open;
End;
Mas está dando o seguinte erro:
Parameter P1 not found
O q está errado?
No componente SQL está assim:
SELECT DISTINCTROW TB_Avaliacao.AnoDaAvaliacao, TB_Avaliacao.CodigoDoPforessor, TB_Avaliacao.CodigoDoCurso, TB_Avaliacao.CodigoDaDisciplina, First(TB_DetalhesDaAvaliacao.CodigoDaPergunta) AS [Primeiro De CodigoDaPergunta], TB_DetalhesDaAvaliacao.Pergunta, First(TB_DetalhesDaAvaliacao.CodigoDaResposta) AS [Primeiro De CodigoDaResposta], TB_DetalhesDaAvaliacao.Resposta, Sum(TB_DetalhesDaAvaliacao.Contador) AS Soma_De_Contador, (([Soma_De_Contador]*100)/Sum([Contador])/100) AS Percentual
FROM TB_Avaliacao INNER JOIN TB_DetalhesDaAvaliacao ON TB_Avaliacao.CodigoDaAvaliacao = TB_DetalhesDaAvaliacao.CodigoDaAvaliacao
GROUP BY TB_Avaliacao.AnoDaAvaliacao, TB_Avaliacao.CodigoDoPforessor, TB_Avaliacao.CodigoDoCurso, TB_Avaliacao.CodigoDaDisciplina, TB_DetalhesDaAvaliacao.Pergunta, TB_DetalhesDaAvaliacao.Resposta
ORDER BY TB_Avaliacao.CodigoDoPforessor, First(TB_DetalhesDaAvaliacao.CodigoDaPergunta);
Quando habilito a opção Active como True, não dá nenhum problema.
O q será q pode estar errado no código anterior?
A tabela é Access 97.
Grato por sua ajuda,
Ilano.
Ilanocf
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)