Gerar seguencia automaticamente

(gilmonteiro) #1

Estou com necessidade complexa, pelo menos eu acho.
Tenho um form para cadastrar dados de extintor de incêndio, são inseridos 1,30 ou ate 100 extintores de uma única vez. Na mesma tabela tem uma coluna (n_selo) que é inserido depois.

Em um form editavel apenas visualizo o nº do extintor e a coluna do n_selo para ser inserido o selo um a um pode ter 1 ou 100 . Gostaria de um código ou quando inserisse o primeiro selo automaticamente os outros o sistema soma + 1. Os selos são seqüenciados, sugerir form editavel porque eu teria a possibilidade de alterar caso houve-se quebra da seqüência.

Pode ser outra lógica se não der para fazer dessa forma.

Gilmar Monteiro

(George Carvalho) #2

Incrementar uma sequencial N vezes é fácil, não entendi a lógica.

(Diogo Toscano) #3

Tambem nao entendi a logica.

A logica seria … apos terminar de inserir … qualquer campo n_selo que estivesse vazio pegaria o ultimo inserido e somaria +1?

Pq se for, voce so precisaria de um controle … tipo … gerarNumeroDeSelo … que ao ser chamado, pegaria o max(n_selo) e depois vc faria um select em quem estivesse vazio e faria um update colocando o n_selo + 1 …

(gilmonteiro) #4

Vejamos, vou tentar ser mais claro.

Quem inseri os dados dos extintores é a oficina, ao termino o operador coloca a data do fechamento.

A recepção visualiza em um form editavel as duas colunas nº extintor e a coluna (n_selo).

O operador pega na gaveta uma seqüência de selo para (10 extintores), ex: 10024511 a 10024521 gostaria de uma função quando inserir o primeiro automaticamente os outros são inseridos somando +1.

obrg

gilmar

(Haroldo) #5

Já discutimos esse procedimento de guardar sequencial aqui, as regras seriam as mesmas.

Abraços

(Diogo Toscano) #6

Basta fazer uma aplicação de controle, pedindo o numero do selo inicial e a quantidade de selos sequencias.

o seu controle ia dar o select na base pegando a quantidade de selos a serem “updatados” e seria seria um for de 0 ate a quantidade de selos a serem updatados …

codigo em linguagem abastrada:

selo inicial: 100234
quantidade de sequyencias: 10

for(seq=0; seq<quantidade de sequencias; seq++)
{
pega do banco o registro a ser atualizado
e da um update selo inicial + seq
}

é ruin tentar passar a logica pra outra pessoa kkk