E aí Leandro!?!?! Eu tenho uma query local chamado queryNF que exibe os dados em uma dbGrid e tenho uma outra queryNF em um data module (dmoQuerys.QueryNF). Estou mandando executar uma query que está no data module mas buscando o registro selecionado da dbGrid que está na queryNF local. O que acontece é que as duas querys estão exibindo os dados da mesma tabela, mas acho q isso não é problema, é?
Já to ficando doido rsrs Obrigado! -------Mensagem original------- De: Leandro Data: 25/06/2009 16:28:30 Para: delphi-br@yahoogrupos.com.br Assunto: Re: Re: Re: [delphi-br] Erro ao executar SQL me diz uma coisa como vc esta filtrando uma nota? pq se vc esta filtrando essa tabela usando a mesma query no minimo ela ja devera ter sido aberta uma vez senao o valor de queryNFCodigoNF.AsString sera vazio... n sei se o #39 tbm funciona como o quotedstr() mas recomendo vc usa-lo pois evitará muitos erros de digitacao dos usuários e dor de cabeça rsrs.. with dmoQuerys.QueryNF.SQL do begin clear; add('select * from notasFiscais where codigoNF = '); add(#39+queryNFCodigoNF.AsString+#39); end; dmoQuerys.QueryNF.Active := false; dmoQuerys.QueryNF.Active := true; 2009/6/25 Bruno Lepesqueur <brunolbra...@yahoo.com.br> > > > Pessoal... eu de novo! > Descobri outra coisa que talvez facilite pra vcs agora! > > Se eu uso assim dá certo: > > with dmoQuerys.QueryNF.SQL do > begin > clear; > add('select * from notasFiscais where codigoNF = ''275'''); > end; > dmoQuerys.QueryNF.Active := false; > dmoQuerys.QueryNF.Active := true; > > > with dmoQuerys.QueryFrete.SQL do > begin > clear; > add('select * from fretenf where codigoNF = '); > add(#39+dmoquerys.QueryNFCodigoNF.AsString+#39); > end; > dmoQuerys.QueryFrete.Active := false; > dmoQuerys.QueryFrete.Active := true; > > Mas se eu uso assim não dá mais certo: > > with dmoQuerys.QueryNF.SQL do > begin > clear; > add('select * from notasFiscais where codigoNF = '); > add(#39+queryNFCodigoNF.AsString+#39); > end; > dmoQuerys.QueryNF.Active := false; > dmoQuerys.QueryNF.Active := true; > > > with dmoQuerys.QueryFrete.SQL do > begin > clear; > add('select * from fretenf where codigoNF = '); > add(#39+dmoquerys.QueryNFCodigoNF.AsString+#39); > end; > dmoQuerys.QueryFrete.Active := false; > dmoQuerys.QueryFrete.Active := true; > > Esse CodigoNF é um campo Integer e autoincrement. > Se eu já informo a o codigo da nota direto no SQL ele passa, mas se eu > mando > buscar o código direto da query ele não passa! > > Um abraço! > > -------Mensagem original------- > > De: Bruno Lepesqueur > Data: 06/25/09 09:14:13 > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Assunto: Res: Re: Re: [delphi-br] Erro ao executar SQL > > > > > Outra forma que dá certo é deixando nessa sequencia normal e mandando > ativar > a queryNF só depois da QueryFrete já estar ativada! > Ele aceita inserir o código SQL na queryNF, mas só aceita ativar ela depois > > da QueryFrete ativada. > > Dá pra continuar usando dessa forma, mas tem algo errado pra isso estar > acontecendo. > > Um abraço a todos! > > -------Mensagem original------- > > De: Bruno Lepesqueur > Data: 25/06/2009 08:45:25 > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Assunto: Res: Re: Re: [delphi-br] Erro ao executar SQL > > > > > Pessoal... to mandando os códigos que uso no delphi pra ver se vcs > conseguem > > me ajudar: > > If (dbEdit7.Text <> '0') and (dbEdit7.Text <> '') then > begin > If QueryQtdeCount.value > 0 then > begin > Edit1.text := 'alterar'; > > If (InicialFrm.dbEdit3.Text = '0') or (InicialFrm.dbEdit4.Text = '0 > ) or (InicialFrm.dbEdit5.Text = '0') or (InicialFrm.dbEdit6.Text = '0') or > (InicialFrm.dbEdit7.Text = '0') then > begin > InicialFrm.QueryEndereco.Active := false; > InicialFrm.QueryEndereco.Active := true; > InicialFrm.QueryVendedor.Active := false; > InicialFrm.QueryVendedor.Active := true; > InicialFrm.QueryProdutos.Active := false; > InicialFrm.QueryProdutos.Active := true; > InicialFrm.QueryCliFornTrans2.Active := false; > InicialFrm.QueryCliFornTrans2.Active := true; > InicialFrm.QueryCodOper.Active := false; > InicialFrm.QueryCodOper.Active := true; > end; > > If InicialFrm.dbEdit5.text = '0' then > ShowMessage('Não existe nenhum produto cadastrado! Você deve > cadastrar pelo menos 1 produto no sistema!') else > If InicialFrm.dbEdit6.text = '0' then > ShowMessage('Não existe nenhum cliente, fornecedor ou > transportadora cadastrado! Você deve cadastrar pelo menos 1 cliente, > fornecedor ou transportadora no sistema!') else > If InicialFrm.dbEdit3.text = '0' then > ShowMessage('Não existe nenhum endereço cadastrado! Você deve > cadastrar pelo menos 1 endereço no sistema!') else > If InicialFrm.dbEdit4.text = '0' then > ShowMessage('Não existe nenhum vendedor cadastrado! Você deve > cadastrar pelo menos 1 vendedor no sistema!') else > If InicialFrm.dbEdit7.text = '0' then > ShowMessage('Não existe nenhum código de operação cadastrado! Você > deve cadastrar pelo menos 1 código de operação no sistema!') > else > If InicialFrm.Edit1.Text = 'lcto' then > begin > dmoQuerys.QueryEstoqueProd.Active := true; > dmoQuerys.queryParcFrete.active := true; > dmoQuerys.QueryCadEmpresa.Active := true; > dmoQuerys.QueryParcNF.Active := true; > > If NotasFiscaisFrm.rgPessoa.ItemIndex = 0 then > begin > NotasFiscaisFrm.label16.Visible := true; > NotasFiscaisFrm.label17.Visible := false; > end else > If NotasFiscaisFrm.rgPessoa.ItemIndex = 1 then > begin > NotasFiscaisFrm.label16.Visible := false; > NotasFiscaisFrm.label17.Visible := true; > end; > > with dmoQuerys.QueryNF.SQL do > begin > clear; > add('select * from notasFiscais where codigoNF = '); > add(#39+queryNFCodigoNF.AsString+#39); > end; > dmoQuerys.QueryNF.Active := false; > dmoQuerys.QueryNF.Active := true; > > with dmoQuerys.QueryFrete.SQL do > begin > clear; > add('select * from fretenf where codigoNF = '); > add(#39+dmoquerys.QueryNFCodigoNF.AsString+#39); > end; > dmoQuerys.QueryFrete.Active := false; > dmoQuerys.QueryFrete.Active := true; > (Nessa parte aki ele dá o erro sitado abaixo) > > Se eu colocar a queryFrete para executar antes da queryNF, nada de erro > acontece! > > Um abraço a todos! > > -------Mensagem original------- > > De: Thales (Shubacca) - Tebo Software > Data: 24/06/2009 20:05:00 > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Assunto: Re: Re: [delphi-br] Erro ao executar SQL > > > > > Voce poderia mandar o trecho completo para avaliarmos? > > 2009/6/24 Bruno Lepesqueur <brunolbra...@yahoo.com.br<brunolbrasil%40yahoo com.br>> > > > > > > > > Não uso nenhum evento nessas querys! > > A única coisa que eu uso nelas é a propriedade CachedUpdate = True. > > > > Obrigado! > > > > -------Mensagem original------- > > > > De: Thales (Shubacca) - Tebo Software > > Data: 06/24/09 19:27:59 > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com br><delphi-br% > 40yahoogrupos.com.br> > > Assunto: Re: [delphi-br] Erro ao executar SQL > > > > > > > > > > voce por acaso tem algum evento de afterscroll ou afteropen nessas > querys? > > > > > se tiver de uma olhada para ver se alguma delas nao esta tentando editar > > sem > > a query estar em modo de edicao > > > > falow > > > > 2009/6/24 Bruno Lepesqueur <brunolbra...@yahoo.com br<brunolbrasil%40yahoo.com.br> > <brunolbrasil%40yahoo > > com.br>> > > > > > > > > > > > > > Boa noite pessoal! > > > > > > Estou com um problema que não consigo resolver desde a semana passada e > > > > gostaria da ajuda de todos! > > > Eu tenho 2 tabelas relacionadas: tblNotas e tblFrete (campo > relacionado: > > > > codigoNF) > > > Cada nota deve conter um frete que é relacionado através do campo > > codigoNF > > > > > > > > > > > Eu consigo inserir registros nas tabelas através das funções > > > tblNotas.insert > > > e da função tblFrete.insert numa boua, mas qdo eu entro no formulário > > para > > > alterar a nota e o frete que acabei de gravar usando um comando simples > > > do > > > SQL como: > > > > > > with dmoQuerys.QueryNF.SQL do > > > begin > > > clear; > > > add('select * from Notas where codigoNF = '); > > > add(#39+queryNFCodigoNF.AsString+#39); > > > end; > > > dmoQuerys.QueryNF.Active := false; > > > dmoQuerys.QueryNF.Active := true; > > > (para selecionar a nota desejada para alteração) > > > > > > e depois faço o comando: > > > > > > with dmoQuerys.QueryFrete.SQL do > > > begin > > > clear; > > > add('select * from frete where codigoNF = '); > > > add(#39+dmoquerys.QueryNFCodigoNF.AsString+#39); > > > end; > > > dmoQuerys.QueryFrete.Active := false; > > > dmoQuerys.QueryFrete.Active := true; > > > (para selecionar o frete ref. a essa nota que estou alterando) > > > > > > ele dá o seguinte erro: > > > > > > "Project SisNota.exe raised exception class EDatabaseError with message > > > > Dataset not in edit or Insert mode'. > > > Process stopped. Use Step or Run to continue." > > > (o arquivo está anexo ao e-mail) > > > > > > Eu gostaria de esclarecer que nesse momento a única coisa que eu fiz > foi > > > > ativar as duas tabelas e nada mais! Elas não estão sendo editadas ou > > > inseridas. > > > O estranho é que se eu mudo a ordem de execução das SQL (mandando a > > > queryFrete antes da queryNF) elas executam numa boa e sem erro! > > > > > > O que será que pode ser pessoal? > > > Eu uso delphi 7 com myDac. > > > > > > Um abraço a todos! > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > -- > > Thales Eduardo Barros de Oliveira > > Desenvolvedor Delphi / Firebird / Java > > Emails: > > tebosoftw...@gmail.com <tebosoftware%40gmail.com> <tebosoftware% > 40gmail.com> (GoogleTalk) > > thales_...@hotmail.com <thales_oli%40hotmail.com> <thales_oli% > 40hotmail.com> (MSN) > > Blog: > > http://tebosoftware.blogspot.com/ > > > > "Tente ser uma pessoa de valor, não de sucesso" > > Albert Einstein > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > -- > Thales Eduardo Barros de Oliveira > Desenvolvedor Delphi / Firebird / Java > Emails: > tebosoftw...@gmail.com <tebosoftware%40gmail.com> (GoogleTalk) > thales_...@hotmail.com <thales_oli%40hotmail.com> (MSN) > Blog: > http://tebosoftware.blogspot.com/ > > "Tente ser uma pessoa de valor, não de sucesso" > Albert Einstein > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Leandro, MuTukA [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]