ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Erro no inner join

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
dcbfreitas21
Membro Junior
Membro Junior


Registrado: Sábado, 30 de Janeiro de 2010
Mensagens: 323

MensagemEnviada: Ter Jul 19, 2011 12:33 pm    Assunto: Erro no inner join Responder com Citação

Tenho um aplicativo de cadastro de pedido e ao mesmo tempo o cadastro de produtos, pois tenho diversos produtos para um unico pedido. Criei um topico estes tempos com duvida no inner join pois precisava mostrar os dois em uma dbgrid. Conseguiram resolver meu problema com o seguinte codigo:
Select oc.codigo, oc.fornecedor, oc.estatus, oc.valor4,
it.produto, it.unidade, it.valorunitario, it.qtd, it.valortotal
from tabelaoc as oc inner join tabelaitem as it on oc.codigo = it.codigo

Porem no relatorio devo pesquisar os pedidos atraves de dois radiobuttons:
if radiobutton1.Checked = true then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from TABELAOC');
ADOQuery1.SQL.Add('where CODIGO LIKE ' + QuotedStr('%' + edit1.Text + '%'));
ADOQuery1.SQL.Add('and ESTATUS = ' + QuotedStr('False'));
ADOQuery1.SQL.Add('order by CODIGO');
ADOQuery1.Open;
end;
if radiobutton2.Checked = true then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from TABELAOC');
ADOQuery1.SQL.Add('where FORNECEDOR LIKE ' + QuotedStr('%' + edit1.Text + '%'));
ADOQuery1.SQL.Add('and ESTATUS = ' + QuotedStr('False'));
ADOQuery1.SQL.Add('order by FORNECEDOR');
ADOQuery1.Open;
end;

Ao tentar procurar na edit ele da o seguinte erro:
'ADOQuery1: Field 'produto' not found.'
Nao sei pq ele nao localiza o produto.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9100
Localização: Sinop-MT

MensagemEnviada: Ter Jul 19, 2011 12:49 pm    Assunto: Responder com Citação

vc tem q usar o mesmo select (aquele com inner join) pra realizar a pesquisa
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Fpierin
Novato
Novato


Registrado: Sexta-Feira, 2 de Mai de 2008
Mensagens: 30
Localização: São Paulo

MensagemEnviada: Ter Jul 19, 2011 12:50 pm    Assunto: Responder com Citação

dcbfreitas21,

Esse ADOQuery1 é o mesmo que provê os dados do DBgrid?

Abcs,
_________________
Bacharel em Sistemas de Informação pela USP
Desenvolvedor Java/Delphi/Php/Ruby
Blog: http://oreboladodeturing.wordpress.com
Twitter: http://www.twitter.com/fpierin
Yahoo messenger: felipe.pierin[at]yahoo.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário Yahoo Messenger
dcbfreitas21
Membro Junior
Membro Junior


Registrado: Sábado, 30 de Janeiro de 2010
Mensagens: 323

MensagemEnviada: Ter Jul 19, 2011 12:53 pm    Assunto: Responder com Citação

joemil escreveu:
vc tem q usar o mesmo select (aquele com inner join) pra realizar a pesquisa

Kra eu entendo muito pouco de sql, tem como me mostrar como montar o inner join com a pesquisa por codigo ou fornecedor.

Agradeço a ajuda
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Fpierin
Novato
Novato


Registrado: Sexta-Feira, 2 de Mai de 2008
Mensagens: 30
Localização: São Paulo

MensagemEnviada: Ter Jul 19, 2011 12:55 pm    Assunto: Responder com Citação

Por fornecedor

Código:

Select oc.codigo, oc.fornecedor, oc.estatus, oc.valor4,
it.produto, it.unidade, it.valorunitario, it.qtd, it.valortotal
from tabelaoc as oc inner join tabelaitem as it on oc.codigo = it.codigo
order by oc.fornecedor


Por código

Código:

Select oc.codigo, oc.fornecedor, oc.estatus, oc.valor4,
it.produto, it.unidade, it.valorunitario, it.qtd, it.valortotal
from tabelaoc as oc inner join tabelaitem as it on oc.codigo = it.codigo
order by oc.codigo

_________________
Bacharel em Sistemas de Informação pela USP
Desenvolvedor Java/Delphi/Php/Ruby
Blog: http://oreboladodeturing.wordpress.com
Twitter: http://www.twitter.com/fpierin
Yahoo messenger: felipe.pierin[at]yahoo.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário Yahoo Messenger
dcbfreitas21
Membro Junior
Membro Junior


Registrado: Sábado, 30 de Janeiro de 2010
Mensagens: 323

MensagemEnviada: Ter Jul 19, 2011 1:06 pm    Assunto: Responder com Citação

Fpierin escreveu:
Por fornecedor

Código:

Select oc.codigo, oc.fornecedor, oc.estatus, oc.valor4,
it.produto, it.unidade, it.valorunitario, it.qtd, it.valortotal
from tabelaoc as oc inner join tabelaitem as it on oc.codigo = it.codigo
order by oc.fornecedor


Por código

Código:

Select oc.codigo, oc.fornecedor, oc.estatus, oc.valor4,
it.produto, it.unidade, it.valorunitario, it.qtd, it.valortotal
from tabelaoc as oc inner join tabelaitem as it on oc.codigo = it.codigo
order by oc.codigo

onde devo colocar para procurar pelo que eu digitar 'edit1.text', pois o primeiro select que coloquei no forum foi do sql do adoquery, ja o if foi no evento onchange da edit, este devo continar colocando no evento onchange?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9100
Localização: Sinop-MT

MensagemEnviada: Ter Jul 19, 2011 2:22 pm    Assunto: Responder com Citação

prefiro colocar no onclick do button pra nao demorar mto a pesquisa
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
dcbfreitas21
Membro Junior
Membro Junior


Registrado: Sábado, 30 de Janeiro de 2010
Mensagens: 323

MensagemEnviada: Ter Jul 19, 2011 2:31 pm    Assunto: Responder com Citação

joemil escreveu:
prefiro colocar no onclick do button pra nao demorar mto a pesquisa

mas de qualquer forma, como devo deixar o codigo
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB