PK Ajuda com chave primária

Saudações, pessoal em meus formulários tenho nas tabelas um campo char(10) que é composto por
empresa movimento
00001 000001

Ocorre que mesmo colocando para ser preenchido pelo banco o SC não respeita “chia” porque não tem conteúdo na PK estão vivo fazendo gambiarra, sem PK coloco o campo como não editável e funciona, porém toda vez que mexo no form o SC chia da PK.
Estou colocando o conteudo do campo via função no OnBeforeInsert faça assim para não ficar buraco na numeração mas sempre que volto a mexer no formulário o SC reclama da PK e começa tudo de novo, como vocês fazem nesta situação ?

Claudney

Bem, primeiro eu não uso chave composta nunca.
Se vc pode alterar estrutura do banco.
Crie uma coluna chamada id como ok autoincrement e transforme sua ok composta em um indice composto.

Se não pode mexer na estrutura do banco.
Crie duas globais, alimente elas no evento onload quando forem vazias e em editar campos informe o valor dessas colunas pelas globais criadas.

2 Curtidas

Fala mestre, Haroldo, se fizer como onload e o usuário cancelar vai pular o numero que é o que eu não queria. Não ?

se uma dos campos compostos tiver incremento automático baseado no outro campo, precisa reavalia-lo antes de inserir os dados.

Saudações, Haroldo pra ficar registrado, resolvi assim, deixei a pk definida, nos 3 passos, nos campos, na chave primária e no SQL, no valor padrão do campo coloquei como ‘0’, e no OnBeforeInsert deixei a função, funcionou beleza, agora vou alterar os meus formulários para ficar assim, valeu mestre.

Claudney

1 Curtida