Ir para conteúdo
Fórum Script Brasil
  • 0

Report Viewer - TableAdapter


Lucas Conceição

Pergunta

Bom pessoal,

estou desenvolvendo consultas agora,

porém existem vários erros acontecendo e eu realmente não faço idéia do porque,

Eu criei meu dataSet e arrastei o dataAdapter pra la,

Ai começei a configurar até chegar na parte de colocar a consulta,

Coloquei a seguinte consulta:

SELECT HELPDESK.nome_help_desk as Helpdesk,

TIPO_SOFTWARE.nome_software as Software,

TAREFA.tarefa_desc as Tarefa,

Tarefa.prioridade as Prioridade, Tarefa.duracao as Duracao, Tarefa.status as Status

FROM CATEGORIA C

INNER JOIN (HELPDESK INNER JOIN (TIPO_SOFTWARE INNER JOIN TAREFA ON TAREFA.id_software = TIPO_SOFTWARE.id)

INNER JOIN TIPO_SOFTWARE AS TS ON TS.id_helpdesk = HELPDESK.id)

ON TAREFA.id_software = TIPO_SOFTWARE.id

AND TIPO_SOFTWARE.id_helpdesk = HELPDESK.id

AND HELPDESK.id_categoria = C.id

WHERE C.id = 11

GROUP BY TAREFA.id

ORDER BY HELPDESK.nome_help_desk

Ela roda normalmente no meu banco de dados,

Porém dei um next e me apareceu 4 erros impedindo a criação do dataAdapter,

São eles:

Error in ON clause near ')'.

Error in ON clause near 'GROUP'.

Error in ON clause near 'ORDER'.

Unable to parse query text.

Alguém teve esse erro alguma vez?

está aparecendo em várias consultas que eu faço,

as vezes eu tenho até que tirar o group e o order, mas ai a consulta não vem correta.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Nunca vi e não entendi esse INNER JOIN seu rapaz :o

O Join faz a ligação entre as tabelas por um campo em comum, com mesmo valor (as chaves estrangeiras com chaves primárias).

Nesse caso, você tem que ligar a tabela Categoria com alguma que tenha relacionamento com ela, e assim por diante. Para ficar de fácil manutenção, sempre estruture da seguinte forma:

SELECT
    t5.campo1,
    t2.campo2,
    t3.campo3
FROM          tabela1  AS t1
INNER JOIN tabela2  AS t2 ON (t1.id = t2.id)
INNER JOIN tabela3  AS t3 ON (t1.id = t3.id)
INNER JOIN tabela4  AS t4 ON (t2.id = t4.id) --Perceba que o relacionamento não é obrigatório com a primeira tabela
LEFT   JOIN  tabela5  AS t5 ON (t3.id = t5.id)
WHERE t1.campo1 = 2
AND ...

O group by e order by estão dando erro devido a estruturação do seu JOIN

Link para o comentário
Compartilhar em outros sites

  • 0

Mas então Xistyle,

Essa consulta funciona perfeitamente no banco de dados (MySql), e na minha aplicação tam´bém,

só não funcionou agora que fui adiconar ao dataAdapater, e por exemplo, minhas tabelas vão referenciando a próxima exemplo:

Tabelas t1,t2 e t3

t1 é a tabela mãe, t2 referencia t1, e t3 referencia t2, e assim por diante,

Vou tentar arrumar essa tabela para aparecer os mesmos valores com uma estrutura de join diferente.

Obrigado pela resposta =)

Link para o comentário
Compartilhar em outros sites

  • 0

Aew Xistyle,

refiz a minha consulta ficando assim:

SELECT H.nome_help_desk as Helpdesk,

TS.nome_software as Software,

T.tarefa_desc as Tarefa,

T.prioridade as Prioridade, T.duracao as Duracao, T.status as Status

FROM CATEGORIA C

INNER JOIN HELPDESK as H ON (h.id_categoria = C.id)

INNER JOIN TIPO_SOFTWARE as TS ON (TS.id_helpdesk = H.id)

INNER JOIN TAREFA AS T ON (T.id_software = TS.id)

WHERE C.id = 11

GROUP BY T.id

ORDER BY H.nome_help_desk;

E funcionou direitinho no DataAdapter, muito obrigado mais uma vez por esse motne de ajuda que você está me dando. =D

Link para o comentário
Compartilhar em outros sites

  • 0

A isso é verdade,

no momento estou procurando como fazer pra mudar o valor que aparece no report viewer,

se você tiver alguma idéia,

Não sei se preciso colocar alguma instrução no report ou via código mesmo.

Por exemplo: eu tenho os dados la no meu report de prioridade, porém no banco está gravado como 0, 1, e 2, sendo:

0 - prioridade baixa

1 - prioridade média

2 - prioridade alta,

Ai queria colocar esses valores no report,

Começeui a procurar agora,

se eu encontrar algo^que resolva eu já posto aqui.

Link para o comentário
Compartilhar em outros sites

  • 0

Lucas, você deve criar uma fórmula e colocar no lugar do campo, no layout do seu report.

A fórmula vai ser algo mais ou menos assim:

If ({@prioridade}) = 0 Then
 "Prioridade Baixa"
ElseIf ({@prioridade}) = 1 Then
 "Prioridade Média"
ElseIf ({@prioridade}) = 2 Then
 "Prioridade Alta"
End If

Não lembro ao certo a sintaxe, mas acho que é similar ao VB.

Link para o comentário
Compartilhar em outros sites

  • 0

EDIT. OLha Xistyle estou pensando em algo aqui mas não sei como realizar,

Eu precisaria de uma consulta geralzona (não sei se existe),

por exemplo: No meu form eu seleciona os cmapos que eu quero eu vão para o Relatório e clico em gerar relatório,

Ai gera um relatório dos campos que eu coloquei para serem gerados.

Você sabe de algo assim?

*-*-*-*-*-**-*-*-*-*-*-*-*-*-

Você foi mais rápido mas eu consegui aqui agora também hahahah,

Eu fiz o testo com 2 colunas, uma eu precisava trocar 2 valores mas a outra eram 3 valores,

A condição da coluna com 3 valores ficou assim

=IIF(Fields!Prioridade.Value = "0", "Baixa", IIF(Fields!Prioridade.Value = "1", "Média", "Alta"))

Ai esse código ficou no Value da Célula que ta dento do Meu Report.

Ai funcionou direitinho.

Ta ficando bom o negócio hahahaha

Editado por Lucas Conceição
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...