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

Editar Dados Em Outro Form


pixe00

Pergunta

E aí galera, eu dnovo. To com mais um problema.

Seguinte, to num form de pesquisa de dados nele tem um dbgrid que aparece o resultado da pesquisa, coloquei um menu popup e nele tem duas opçoes uma de editar o dado selecionado e outra de exibir um relatorio com o dado selecionado, estou usando componetes ADO.

então meu problema é o seguinte, quero que o dado selecionado va todo para o form onde eu fiz o cadastro onde eu posso fazer a ediçao do mesmo como faço isso como abro o form de cadastro e que nele esteja o exatamento o dado selecionado na pesquisa que eu fiz em outro form e quero que aconteça o mesmo quando pedir pra mostra o relatario.

Galera qualquer duvida aí perqunta que respondo....mas me dar um help aí..

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

A resposta pode depender de como você constuiu sua aplicação.

Se você utilizar datamodule, então os dois form's poderiam estar apontando para o mesmo dataset e então bastaria apenas chamar o segundo form e botar o dataset em edição.

Mas ai, se no seu primeiro form, onde está o dbgrid, você tem associado a ele o resultado de uma query, então no outro form(provavelmente) não dará para editá-lo. Daí você teria que utilizar no segundo form um dataset tipo TTable onde posicionaria no registro a ser editado.

Se você não utilizar datamodule, também poderia chamar o segundo form passando como parâmetro o código (o ou os campos chave) e neste form, então, você posicionaria a tabela e botaria ela em modo edição.

Isto tudo considerando que você está utilizando componentes dataware (DBEdit, DBComboBox, ...), porque se estiver utilizando apenas Edit's aí terá que, além de tudo, mover o conteúdo de cada campo da tabela para os edit's.

Confundiu um pouco? Acho que sim.

Dê mais alguns detalhes, tipo Componentes que utiliza (TQuery, TTable, ADO), banco sendo utilizado (Paradox, Firebird), se trabalha com datamodule ou não.

Link para o comentário
Compartilhar em outros sites

  • 0

Estou usando componentes ADO, todos são DB....meu banco é access e eu uso datamodule.

Estou fazendo dessa maneira:

DM.TbAtendimento.Locate('ID_Atd',DBGrid1.SelectedField.Value,[]);

Esta dando certo vai tudo para o outro form, porem so funciona quando eu clico em cima do campo ID_Atd se eu clicar nos outros da um erro.

Eu quero poder clicar em qual quer um dos campos no DBGrid e ir para o form de cadastro onde eu possa editar.

Link para o comentário
Compartilhar em outros sites

  • 0

Faça o seguinte, no lugar de DBGrid1.SelectedField.Value, utilize o campo da tabela associada ao seu DBGrid.

Como não tenho esta informação, a título de exemplo, vou supor que o dataset ligado ao DataSource, que você associou ao DBGrid, chama-se ADOConsulta. Então, se um dos campos que você tem neste dataset é justamente o chave (ID_Atd), então você passaria no locate da seguinte forma:

1) se você adicionou os fields ao seu componente - dataset:

DM.TbAtendimento.Locate('ID_Atd', ADOConsultaID_Atd.Value, []);

2) se você não adicionou os fields ao componente - dataset:

DM.TbAtendimento.Locate('ID_Atd', ADOConsulta.FieldByName('ID_Atd').Value, []);

Tenha em mente que o DBGrid apresenta os registros do dataset a ele associado; A linha atualmente selecionada (não vale para multipla seleção) representa sempre o registro (linha) em que o dataset está posicionado.

Por isso lhe disse no post anterior, que se o componente (dataset) que você utiliza no DBGrid e no form de edição são os mesmo, bastaria ao abrir o form para edição que você chamasse o método Edit do dataset, uma vez que já estaria posicionado no registro correto.

[]s

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,3k
×
×
  • Criar Novo...