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

Problemas com inserção


nicolasbraz

Pergunta

Toda a vez que eu salvo um registro ele pula para o primeiro registro.

Estou utilizando a paleta InterBase.

Como estou usando auto incremento por trigger e generators, no evento AfterPost.

Código:

dmdados.IBTrans.CommitRetaining;

dmdados.tblFerramentas.Refresh;

so que quando ele da o refresh ele pula para o primeiro registro e eu gostaria que ele continua-se no registro atual.

Ex.: a tabela tem 10 registro a hora que eu cadastra 1 novo registro o registro 11 e clico no salvar ele volta para o registro 1.

Editado por nicolasbraz
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Ex.: a tabela tem 10 registro a hora que eu cadastra 1 novo registro o registro 11 e clico no salvar ele volta para o registro 1.

Quando for inserir um novo registro faça o ponteiro ir para o ultimo registro da tabela

dmdados.tblFerramentas.Last;

dmdados.tblFerramentas.Append;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Quando for inserir um novo registro faça o ponteiro ir para o ultimo registro da tabela

dmdados.tblFerramentas.Last;

dmdados.tblFerramentas.Append;

Com essa ideia sua tem 1 problema quando eu editar 1 registro ele vai pular para o ultimo mas vou deixar assim por enquanto, é mais provavel inserir 1 registro do que alterar, agora se voce souber outra soluçao me avisa.

Link para o comentário
Compartilhar em outros sites

  • 0
Com essa ideia sua tem 1 problema quando eu editar 1 registro ele vai pular para o ultimo mas vou deixar assim por enquanto, é mais provavel inserir 1 registro do que alterar, agora se voce souber outra soluçao me avisa.

Veja a idéia é a mesma quando voce usa o DBNavigator

1 - botão inserir :

dmdados.tblFerramentas.Last;

dmdados.tblFerramentas.Append;

dmdados.tblFerramentas.Edit;

2 - botão Alterar :

dmdados.tblFerramentas.Edit;

3 - botão Deletar :

dmdados.tblFerramentas.Delete;

Veja que para os botões 2 e 3 voce deve fazer uma pesquisa nos registros e escolher aquele que voce quer Alterar ou Deletar

DM.<nomeTable>.first = vai para o primeiro registro;

DM.<nomeTable>.prior = move o ponteiro para o registro anterior;

DM.<nomeTable>.next = move o ponteiro para o proximo registro;

DM.<nomeTable>.last = vai para o último registro;

DM.<nomeTable>.Insert; // para inserir os dados

DM.<nomeTable>.Edit; // para que a Tabela entre em modo de edição

DM.<nomeTable>.Post; // para salvar os dados

DM.<nomeTable>.Cancel; // para Cancelar a operação realizada no momento

DM.<nomeTable>.Delete; // para excluir os dados

O DBNavigator funciona desta maneira

DBNavigator.BtnClick(nbxxx);

onde xxx será:

first = vai para o primeiro registro;

prior = move o ponteiro para o registro anterior;

next = move o ponteiro para o proximo registro;

last = vai para o último registro;

insert = insere um novo registro na tabela;

delete = apaga o registro atual;

edit = edita o registro atual;

post = confirma a edição ou inserção de um novo registro;

cancel = cancela a operação (edit, insert);

refresh = atualiza a tabela de registros;

Pode ver que é a mesma coisa, só que um é executado atraves do componente DBNavigator e o outro é atravez de botões ( Bitbtn ou Button )

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde, Amigo.

Faz assim no botão novo por exemplo você dá um append.

Tipo:

tabela.append

já no botão salvar você faz assim: Em uses coloque "DB" e no botão para salvar faz assim:

if tabela.state in [dsedit,dsinsert] then

tabela.post;

Prontiho o registro depois de salvo permanecerá no form até que você insira um novo registro e assim sicessivamente.Boa sorte quelaquer coisa posta ai.

Editado por Mesfistofeles
Link para o comentário
Compartilhar em outros sites

  • 0

opa, no botão salvar você coloca no final dele isso aqui:

dmdados.tblFerramentas.refresh;
dmdados.tblFerramentas.last;

se quando clicar em cancelar e der o mesmo problema, apenas coloque o código acima no cancelar tambem, rsrsrs, espero ter ajudado.

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...