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

Acrescentar + 1 Em Campo Numérico...


junior.bportal

Pergunta

Como faço para fazer com que um campo numérico possa ser atualizado sempre adicionando + 1???

Tenho um campo numérico referente a um código de pedido... um código a parte e o q eu gostaria era q a cada novo pedido, o sitema pegasse o último valor do campo e somasse mais 1, trazendo o novo valor para o campo do formulário assim q o botão NOVO PEDIDO fosse clicado.

Acho q deu pra entender... né???

Abçs

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Bom pelo visto você não quer utiliza um campo autonumeração, então o que terá que fazer é toda vez que iniciar um novo registro você faz um busca na tabela para verificar qual o maior ou o ultimo valor então, faça um incremento simples no resultado e jogue no objeto que irá armazenar isso, você irá utilizar o dlookup para pegar o resultado, bom pelo menos o utilizo.

Link para o comentário
Compartilhar em outros sites

  • 0

Então... o problema é q este código não seguia uma ordem auto numérica, por isso o campo foi feito assim... onde o usuário digitava o código (não me pergunte porque a empresa preferia assim)... só q de 1 mês pra cá, isso mudou e eu sei q não dá pra alterar o campo numérico para auto numérico.

Pensei em criar um novo campo e neste campo definir um valor incial, tipo... se o último número de pedido foi o 500, definir q a contagem se inicie pelo 501... mas neste caso eu teria 02 problemas: primeiro, eu não sei como fazer isso no ACCESS e segundo, e mais sério, eu perderia o vínculo com os pedidos anteriores nos meus relatórios e consultas... então, pensei em manter o campo numérico com esta programação...

Agora... você pode me dar um exemplo desta programação??? eu sei como funciona o Dlookup, mas não sei como montar isso para q eu possa fazer a soma... Pelo q entendi, no meu campo onde aparece o número do pedido, eu teria q fazer o dlookup para ele pegar o último registro e somar + 1... mas como faço isso???

Desculpe por minha ignorância...

Obrigado!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Fera já que este campo já existe basta que você utilize ele como índice, então crie uma consulta para pegar ou retornar o maior número dentro do objetivo, mais ou menos assim:

select seuNrPedido.suaTabPedido AS maxDeNrPedido from suaTabPedido

order by max(seuNrPedido.idPeriodo);

Vamos supor que você irá salvar essa consulta com o nome de ultPedido, num cópdigo de evento iremos utilizar a função dlookup para pegar e transferir o número encontrado para o campo numero desde que ele se encontre sem valor:

if isnull(me.seuCampo) or me.seuCampo=0 then

me.seuCampo.value=nz(dlookup("[maxDeNrPedido]","ultPedido"),0)+1

end if

Pronto isso resolve, pelo menos utilizo processo semelhante a este para isso que você pediu.

Aguardo sua confirmação para dar este tópico como resolvido ok!

Link para o comentário
Compartilhar em outros sites

  • 0

Entendi perfeitamente...

Vou testar aqui... mas tenho certeza q irá funcionar...

Vlw!!!

Fiz os testes... criei a consulta e até então deu tudo certo...

Quando fui criar a código no formulário, aconteceu o erro "Tipos incompatíveis" - erro de tempo de execução '13'

a minha programação ficou assim:

Private Sub num_encomenda_GotFocus()

If IsNull(Me.num_encomenda) Or Me.num_encomenda = 0 Then

Me.num_encomenda.Value = Nz(DLookup("[num_encomenda]", "ultima_encomenda_gerada"), 0) + 1

End If

End Sub

A linha q está em negrito é a linha q ele marca, dando a informação do erro...

No meu fomrulário, o campo num_encomenda, tem como origem a tabela encomendas, onde é registrado todos os cabeçalhos das encomendas...

Com certeza está faltando lógica pra mim... rs... mas acho q o caminho é esse...

Vlw!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Fera imagino que esse campo possua valor númerico e não vejo como poderia haver incompatibilidade de dados, se eu não tivesse tão cheio de trabalho aki até pediria pra me enviar seu BD, pois até onde consigo imaginar e pelo que já expliquei anteriormente deveria estar funcionando!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...