Notifications
Clear all

Não permitir cadastrar com a mesma nota fiscal

10 Posts
4 Usuários
0 Reactions
1,717 Visualizações
(@gfsouza86)
Posts: 132
Estimable Member
Topic starter
 

Bom dia
Tenho um cadastro parecido com o exemplo em anexo
Gostaria que fosse informado caso o usuario ao digitar o mesmo numero de NF para um fornecedor já cadastrado nao fosse permitido, por exemplo:

NF 0000 já cadastrada para o fornecedor XPTO

Porem se ele fosse cadastrar a NF com o mesmo numero para outro fornecedor fosse permitido!

 
Postado : 16/04/2018 8:48 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

gfsouza86,

Boa tarde!

Veja se é assim.

 
Postado : 16/04/2018 12:24 pm
(@gfsouza86)
Posts: 132
Estimable Member
Topic starter
 

Boa tarde
É isso mesmo

Só mais uma pergunta!

Teria como na msgbox informar tipo assim:

A NF 123 já esta cadastrada para o fornecedor XPTO!

 
Postado : 16/04/2018 12:32 pm
(@klarc28)
Posts: 0
New Member
 

Isso é chamado de concatenar Strings. É elementar em linguagem de programação.
A primeira vez que ouvi a palavra "concatenar", eu me apavorei.
Pensei "isso não é para mim, jamais vou aprender".
Mas fui insistindo e acabei pegando o jeito.

 MsgBox "A NF " & txtcodigonovo.Text & " já está cadastrada para  o fornecedor " & txtnome.Text, vbCritical, "ERRO"
 
Postado : 16/04/2018 9:14 pm
(@gfsouza86)
Posts: 132
Estimable Member
Topic starter
 

klarc28 muito obrigado pela explicação!

wagner coloquei seu código no meu projeto, porem mesmo assim ele esta permitindo o cadastro em duplicidade (mesma NF para o mesmo fornecedor)

Porem não consigo colocar o arquivo aqui por ser muito grande segue o link do mesmo que esta no onedrive

https://1drv.ms/x/s!Auo9f3NJzWXdi-kHzF284wFQjud6CQ

Ele tambem esta com alguns erros:

- erro 9 ao chamar o frmmenu (porem o mesmo existe)
- quando não localizo o registro é exibida a msg informando porem os botoes aparecem (mesmo eu colocando o código para não aparecer)

 
Postado : 17/04/2018 1:49 pm
(@klarc28)
Posts: 0
New Member
 

No seu projeto, você mudou a coluna do fornecedor. Qualquer detalhe, em programação, faz enorme diferença.

For i = 2 To UltimaLinha
        If Range("A" & i).Value = txtnf.Text And UCase(Range("C" & i).Value) = UCase(txtprestador.Text) Then
            MsgBox "A NF " & txtnf.Text & " já está cadastrada para  o fornecedor " & txtprestador.Text, vbCritical, "ERRO"
            Exit Sub
        End If
    Next i

O seu arquivo não tem algumas planilhas que estão no código:

Private Sub UserForm_Initialize()
Sheets("base_cadastro").Visible = True
'Sheets("relatorio").Visible = False
'Sheets("bases").Visible = False
End Sub
 
Postado : 17/04/2018 9:21 pm
(@gfsouza86)
Posts: 132
Estimable Member
Topic starter
 

klarc28 realizei as alterações que você me informou

Porem mesmo com o sódigo abaixo informado por você ainda esta deixando realizar o cadastro

For i = 2 To UltimaLinha
        If Range("A" & i).Value = txtnf.Text And UCase(Range("C" & i).Value) = UCase(txtprestador.Text) Then
            MsgBox "A NF " & txtnf.Text & " já está cadastrada para  o fornecedor " & txtprestador.Text, vbCritical, "ERRO"
            Exit Sub
        End If
    Next i

Para chamar o frmmenu, retirei a linha

'Sheets("relatorio").Visible = False

e voltou a funcionar perfeitamente!

Porem ainda restam dois problemas rs
- FRMEDITARNF
quando não localizo o registro é exibida a msg informando porem os botoes aparecem (mesmo eu colocando o código para não aparecer)

- FRMEDITARNF
na hora de atualizar um registro ele nao esta atualizando, ele esta criando um registro na linha 2

 
Postado : 18/04/2018 3:25 pm
(@gfsouza86)
Posts: 132
Estimable Member
Topic starter
 

Alguma ajuda?

 
Postado : 20/04/2018 12:29 pm
(@srobles)
Posts: 0
New Member
 

Gabriel,

Veja se as alterações atendem sua necessidade.

PS : Não consegui postar o arquivo aqui, então baixe deste link do WeTransfer https://we.tl/uM96yJ17Re

Abs

 
Postado : 20/04/2018 2:35 pm
(@gfsouza86)
Posts: 132
Estimable Member
Topic starter
 

srobles desculpe pela demora em responder, mas era isso mesmo
Me ajudou bastante

 
Postado : 04/05/2018 1:08 pm