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 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 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 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> > > > 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> > 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>> > > > > > > > > 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> (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] > > > -- Thales Eduardo Barros de Oliveira Desenvolvedor Delphi / Firebird / Java Emails: tebosoftw...@gmail.com (GoogleTalk) thales_...@hotmail.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]