Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro inesperado


M@tEuS

Pergunta

Estou fazendo programa com conexão ADO com o banco de dados Access.

Em um Form de "Venda de produtos", tenho uma Edit (txtCodProd) onde o que for digitado nela deve ser pesquisado no Form de "Produtos" e, se for encontrado na tabela, outras Edit's deverão receber os dados referentes ao campo encontrado.

Não sei se expliquei direito, mas estou fazendo assim:

If frmProdutos.tbProdutos.Locate('Codigo', txtCodProd.Text, []) then

begin

...

end;

Só que se eu coloco essa função no evento OnChange da Edit dá o seguinte erro logo quando executo o programa:

"Access violation at address 004e97b7 in module 'Programa.exe'. Read of address 00000360."

E se eu coloco no OnKeyPress dá parâmetros incorretos ou em conflito quando eu digito alguma coisa.

Sou meio amador e não sei onde pode estar o erro, alguém saberia me ajudar?

Obs.: Usei o mesmo código em outros Forms mas funcionam. Só esse que não.

Esqueci de colocar "= True" antes do "then" no código acima. :D

Mas o erro é o mesmo.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Nas minhas telas de vendas eu utilizo SQL no lugar de locate... ficaria mais ou menos assim no OnChange do edit

AdoQuery.Close;
  AdoQuery.SQL.Clear;
  AdoQuery.SQL.Add('Select * From TABELA);
  AdoQuery.SQL.Add('Where Codigo Like :pCod ');
  AdoQuery.Parameters[0].Value := Edit1.Text;
  AdoQuery.Open;

Flws

Alexandre

Link para o comentário
Compartilhar em outros sites

  • 0

If frmProdutos.tbProdutos.Locate('Codigo', txtCodProd.Text, []) then

begin

...

end;

Só que se eu coloco essa função no evento OnChange da Edit dá o seguinte erro logo quando executo o programa:

"Access violation at address 004e97b7 in module 'Programa.exe'. Read of address 00000360."

Esqueci de colocar "= True" antes do "then" no código acima.

A linha de codigo está correta, e não precisa colocar true no codigo .... se ele localizar o Codigo ( campo texto ) então será executado o que estiver dentro do begin ... end

coloque o codigo no evento OnExit do Edit, e coloque antes do locate o comando para ir para o inicio do arquivo ( frmProdutos.tbProdutos.First ) para fazer a busca.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Só que se eu coloco essa função no evento OnChange da Edit dá o seguinte erro logo quando executo o programa:

"Access violation at address 004e97b7 in module 'Programa.exe'. Read of address 00000360."

M@tEuS, como mencionou o Jhonas, coloque no evento OnExit. O evento OnChange ocorre para cada caracter digitado e com relação ao erro, ele sugere que você possa não ter inicializado (criado) o form frmProdutos antes de utilizá-lo - dê uma verificada.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...