Ir para conteúdo
Fórum Script Brasil
  • 0

Formulario de saida com problemas


nicolasbraz

Pergunta

criei um formulario para saida de materiais.

O sistema esta sendo desenvolvido para uma construtora ai surge meu problema meu formulario.

http://img196.imageshack.us/img196/369/formulariodesaida.jpg

é o seguinte criei essa tela para fazer a saida so que na construtora é necessario lançar varias vezes o mesmo material na obra so mudando a data so que da maneira que eu criei a tabela ele da erro ao fazer isso.

http://img268.imageshack.us/img268/1674/bancodedados.jpg

o erro

http://img29.imageshack.us/img29/8251/semttulolge.jpg

Começou a dar esse erro quando removi a chave primaria do campo "Saiprod_codproduto"

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
o erro

http://img29.imageshack.us/img29/8251/semttulolge.jpg

Começou a dar esse erro quando removi a chave primaria do campo "Saiprod_codproduto"

Erro: Violação Primaria ou Chave Unica constraint Saida_Produto_PK na tabela SAIDA_PRODUTO

Se voce remover a chave primaria deve tambem remover o Foreign Key e tambem o que estiver definido em Constraints

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

já resolvi criei 1 campo que vai ser chave primaria auto incremento.

valeu.

o problema seria como fazer para incrementar ele automaticamente.

Criei o generator e a trigger mas ele não gera o codigo automatico.

http://img41.imageshack.us/img41/9032/semttulotox.jpg

esse e o form a ideia é toda a vez que eu ir para baixo ele incrementar 1 novo codigo (saiprod_codigo).

Editado por nicolasbraz
Link para o comentário
Compartilhar em outros sites

  • 0

então fiz o seguinte.

Então.. no seu table ou dataset, deixe o campo do código com a propriedade required=false

Dai no evento AfterPost vai depender do que você está usando...

Se está usando a paleta dbExpress por exemplo, vai ter q dar dataset.applyupdates(0);

Se tiver algum transaction , terá q dar o commitretaining;

Acredito que se com a propriedade required=false... você pode dar esse applyupdates e commitretaing quando o usuário clicar novamente o salvar ali de cima...

Se por acaso depois de fazer isso não aparecer os dados saiprod na grid, dê um refresh..

Mas agora toda a vez que eu coloco 1 produto novo ele usa o evento.

Saiprod_codproduto no evento on validate

if (dmdados.TblEstoque.locate('est_codigo',dmdados.tblSaidaProdutoSAIPROD_CODProduto.value,[lopartialKey,locaseinsensitive])) then
      dmdados.tblsaidaProdutoSAIPROD_VALORPRODUTO.Value:=dmdados.TblEstoqueEST_PRECOVENDA.Value
   else
     ShowMessage('Produto não Cadastrado');

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...