Fórum Erro inner join #405254

19/07/2011

0

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.
Daniel

Daniel

Responder

Posts

20/07/2011

Emerson Nascimento

pelo meu entendimento as três instruções são aplicadas no mesmo objeto. sendo assim, as instruções precisam ser equivalentes na seleção dos campos, principalmente se houver campos persistidos.

você deve alterar (1) as instruções ou (2) criar um novo objeto dataset e associá-lo ao relatório (vejo a segunda opção como mais coerente).

Responder

Gostei + 0

20/07/2011

Daniel

pelo meu entendimento as três instruções são aplicadas no mesmo objeto. sendo assim, as instruções precisam ser equivalentes na seleção dos campos, principalmente se houver campos persistidos.

você deve alterar (1) as instruções ou (2) criar um novo objeto dataset e associá-lo ao relatório (vejo a segunda opção como mais coerente).

Como devo fazer isso, pois tenho muita difculdade em linguagem sql e nao entendi como devo linkar o novo dataset pois o meu adoquery esta configurado com a tabelapedido e na opção sql que ele faz o inner join, se eu criar um novo dataset como devo configura-lo
Responder

Gostei + 0

09/05/2013

José

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar