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

(Resolvido) Pegar ultimo codigo do banco


Jhowcs

Pergunta

Galera é seguinte to fazendo um sistema de encomenda de assados para a lanchonete do meu pai, o problema é o seguinte, eu tenho um dbedit que é o Código da Encomenda, quando eu iniciar o programa e for fazer uma nova encomenda eu quero que esse dbedit ao ganhar o foco pegue o ultimo valor do banco + 1, porque eu tenho que saber qual a ultima encomenda que eu já fiz, porque alguns clientes podem fazer encomenda de 1 ou + produtos então eles terão o mesmo codigo de encomenda

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Oi, uso esse código. Deve ser o que precisa. Um abraço.

procedure TFrmVendas.btn_IncluirClick(Sender: TObject);

var

cod : integer;

begin

vendas.last;

cod := vendas.fieldbyname('NumeroPedido').asinteger;

vendas.insert;

vendas.fieldbyname('NumeroPedido').asinteger := cod + 1;

vendas.fieldbyname('Operação').asinteger := 2;

vendas.fieldbyname('Tp').asinteger := 1;

Dt.value := date;

DBLookupComboBox1.setfocus;

vendas.edit;

end;

Link para o comentário
Compartilhar em outros sites

  • 0
Oi, uso esse código. Deve ser o que precisa. Um abraço.

procedure TFrmVendas.btn_IncluirClick(Sender: TObject);

var

cod : integer;

begin

vendas.last;

cod := vendas.fieldbyname('NumeroPedido').asinteger;

vendas.insert;

vendas.fieldbyname('NumeroPedido').asinteger := cod + 1;

vendas.fieldbyname('Operação').asinteger := 2;

vendas.fieldbyname('Tp').asinteger := 1;

Dt.value := date;

DBLookupComboBox1.setfocus;

vendas.edit;

end;

Esse vendas é o que ? uma query?

Link para o comentário
Compartilhar em outros sites

  • 0
Não, é um AdoTable da palheta ADO.

Nessa situação o banco de dados é o Access.

Mas utilizo também para Sql Server.

vamos lá estou usando um SqlConnection<--SimpleDataSet<--DataSource

tenho uma tabela (encomenda) no firebird e nela tem vários campos dentre eles o (Cod)

estou usando SimpleDataSet(Sds_Encomenda)

F_Dados.Sds_Encomenda.Open;

F_Dados.Sds_Encomenda.Active := true;

cod := F_Dados.Sds_Encomenda.FieldByName('cod').AsInteger;

F_Dados.Sds_Encomenda.Append;

F_Dados.Sds_Encomenda.FieldByName('cod').AsInteger :=cod+1;

Desse jeito tá quase dando certo o problema é que ele pega sempre o 1ºregistro do banco e não o ultimo.

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui :

F_Dados.Sds_Encomenda.Open;
F_Dados.Sds_Encomenda.Last;
F_Dados.Sds_Encomenda.Active := true;
cod := F_Dados.Sds_Encomenda.FieldByName('cod').AsInteger;
F_Dados.Sds_Encomenda.Append;
F_Dados.Sds_Encomenda.FieldByName('cod').AsInteger :=cod+1;

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