Chave primaria com 2 campos

Boa noite;

Seguinte to com o seguinte problema e sei que aqui não vai faltar ideias boas de solução, tenho que criar uma validacao com 2 campos idFornecedor + numeroNfe.

como todos sabem numero da nota fiscal pode se repetir entre fornecedores, entao a logia e a seguinte.

1- insert
idFornecedor = ‘1’ numeroNfe = ‘123’ (aceita)
2-insert
idFornecedor = ‘2’ numeroNfe = ‘123’ (aceita)
3-insert
idFornecedor = ‘1’ numeroNfe = ‘123’ (registro duplicado)

resumindo criar uma chave primaria com 2 campos

O ideal seria via banco criando indice mas ao tentar colocar os dois campos como chave primaria nao funcionou…

A sua logica não bate, você disse: “numero da nota fiscal pode se repetir entre fornecedores” e no exemplo você colocou o mesmo numero de nota para o mesmo fornecedor.

Não há problema em se repetir o mesmo numero de nota desde que sejam fornecedores diferentes?
Então não é necessário uma PK única unindo os dois campos, é só filtrar em suas aplicações por fornecedor.

É só você antes de dar o insert verificar se aquele numero de nf existe para aquele fornecedor, se existir aborta se não faz o insert.

certo quando… quando eu disse entre fornecedores quiz dizer entre 2 ou mais fornecedores…

eu gostaria de manter essa integridade… so falta o como…

Mas a nota pode ou não se repetir entre os fornecedores?
A integridade seria não repetir o mesmo numero para um mesmo fornecedor.
Mas se você quer uma chave composta é só ir em Chave única dentro da aplicação de formulário e selecionar os campos que vão compor sua chave única e e colocá-los para o canto direito. O Scriptcase vai fazer a verificação de chave única e não vai permitir a inclusão caso o critério não seja respeitado.