Gerar registro de protocolo de cliente

Ola pessoal,

Preciso fazer um campo prontu[ario inicie com PRON000000, como faço isso?

Vi no Valor no Banco de Dados em Configuração Geral: id_paciente, coloquei na iser;áo - Aotoincrement Automatico, no nome da sequencia PAC000001, mas náo funciona.

Tem alguma outra forma?

Nas propriedades do campo têm opção para mudar Valor inicial (tipo) mude para “valor definido”.
Após informe em Valor inicial (campo que abrirá abaixo).

Att,

Jocimar

Qual banco você esta usando? Essa opção de nome da sequencia só funciona com banco que tem essa opção, por exemplos Postgres e Oracle que eu conheço.
Você precisa armazenar o protocolo nesse formato ou apenas mostrar na tela formatado dessa forma? Eu tenho um esquema parecido usando uma função do próprio php mais ou menos assim, uso o autoincremento do campo e concateno com uma string que é o prefixo do meu protocolo:

{campoaexibir} = str_pad('25', 5, "0", STR_PAD_LEFT);

Isso exibira o número 25 como 00025, então pra ter um string antes eu apenas concateno:

{campoaexinir} = "PRON".str_pad('25', 5, "0", STR_PAD_LEFT);

A saída será PRON00025, lembrando que se quiser armazenar assim é só fazer a mesma coisa só na gravação do banco, mas não dará pra salvar no autoincremento assim, precisará usar um campo com char ou varchar.

O meu banco é mysql

Saulo, nao tenho muita experiencia em programação, aonde eu coloco esta string?
O campo numero_paciente e um campo varchar.
Poderia me auxiliar ?

alguem poderia me ajudar neste problema?

nao entendi muito bem, rs

Obrigada.

A forma como Saulo colocou está “filezinho”!

Att,

Jocimar

Jaqueline,

Onde fica sua duvida no exemplo dado?

Não sei onde coloco estes dados, não tenho muito conhecimento e não sei se ainda esta faltando algum dado no q o Saulo Explicou.

Jaqueline,

A sugestão aqui, é ao salvar o registro na tabela você não faça nada,

mas ao exibir (onload) você cria um campo manual (virtual como o pessoal tem chamado) e atribui a constante “PRON” concatenada como prefixo com seu campo id (incremental) como sugere o Saulo.

Entao {campoaexinir} = “PRON”.str_pad(‘25’, 5, “0”, STR_PAD_LEFT); devo incluir no evento onload do campo que quero exibir, correto?

Realmente aparece no campo pron00000, mas ele não gera automaticamente outra numeração quando inclui outro registro.

Ta faltando mais alguma configuração?

Querida,

Você ainda esta com dificuldade de entender os eventos e quando eles ocorrem.

Num aplicação de formulário o evento onload ocorre antes de carregar os dados na tela.

Vá em Eventos: Onload ou OnLoadrecord se for um formulário múltiplos registros.

Os conceitos básicos do SC são primordiais.

Você precisa ou fazer um curso básico do SC ou assistir os videos, assim poderemos te ajudar muito mais.

Haroldo,

estou fazendo um curso sim, mas ainda nao chegou nesta parte.

Fiz oq o Saulo informou, so que o não está inserindo registro com numeros diferentes, ele informa o mesmo.

Hum.
Seu campo é uma chave primaria?
Esta informado no banco que ''e autoincremento?

Se você adicionar um registro pelo banco de dados diretamente o autoincrimino funciona?

Meu campo id_paciente esta como autoincremente. é inteiro e está como chave primária.

Eu adiciono um registro e ele informa o id_paciente como 96, mas visualmente ele é o pron00025.

isso q não estou entendendo.

Insiri dados direto no banco e ele registrou normalmente como id 98, ta funcionando direitinho.

Experimente assim:

{campoaexinir} = “PRON”.str_pad({id_paciente}, 5, “0”, STR_PAD_LEFT)

Cole aqui o código que você criou e informe o evento que está utilizando e o tipo de aplicação.

Procede o que o Kleyber falou, você precisa entender a função que está utilizando e o significado de cada parâmetro.

Haroldo,

Inseri o codigo do Kleyber e no inicio tinha funcionado, mas depois ele ficou estranho.

Segue as imagens para vcs darem uma olhada.

O codigo {id_paciente} = “PRON”.str_pad({id_paciente}, 5, “0”, STR_PAD_LEFT); inserido no evento onload
O id_paciente é inteiro e numerico.


id_paciente1.png

segue a outra imagem


id_paciente.png

outra imagem.

Quando inseri um registro, e volto para ver o registro e tento passar para o outro registro, ele fica lendo direto.


id_paciente3_lendo.png

veja bem.

Você tem que ir em campos e criar um campo manualmente (do tipo texto) e atribuir o código que o Kleyber passou a esse campo criado, id_paciente é numérico e não se concatena constante sctring a um campo numérico.