Jump to content
Fórum Script Brasil
  • 0

Acrescentar + 1 Em Campo Numérico...


junior.bportal

Question

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 to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...