Erro inner join
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:
Porem no relatorio devo pesquisar os pedidos atraves de dois radiobuttons:
Ao tentar procurar na edit ele da o seguinte erro:
'ADOQuery1: Field 'produto' not found.'
Nao sei pq ele nao localiza o produto.
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
Curtidas 0
Respostas
Emerson Nascimento
19/07/2011
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).
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).
GOSTEI 0
Daniel
19/07/2011
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
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).
GOSTEI 0
José
19/07/2011
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0