Minha gente, olha eu de novo?
Não se preocupem não que logo logo eu vou parar de abusar vocês! rsrsrsrs
É porque estou quase terminando um programinha que fiz para cadastro, consulta e emissão de notas de orçamento. Ainda faltam pequenos ajustes.
PRIMEIRO AJUSTE:
PRECISO DE UM CÓDIGO VBA PARA O BOTÃO 'SALVAR', PARA FAZER O SEGUINTE:
=> Salvar a nota de orçamento, se detectar que há um novo registro;
=> Salvar a nota de orçamento, se detectar que houve uma alteração no registro;
=> Não salvar o registro, e exibir uma mensagem de erro, se detectar que o campo "ServPlaca" ou "ServProprietário" não foi preenchido;
=> Não salvar, e exibir uma mensagem de erro, se detectar que não há um registro novo em edição.
A tabela que alimenta esse formulário é a TabNotaOrcam.
O código que criei e que não está funcionando 100% é este:
Private Sub BotaoSalvarFormNotaOrcam_Click()
If IsNull([ServPlaca]) And IsNull([ServProprietario]) Then
DoCmd.Beep
MsgBox "DIGITE PELO MENOS O NÚMERO DA PLACA OU O NOME DO PROPRIETÁRIO ANTES DE
SALVAR ESTA NOTA DE ORÇAMENTO.", vbCritical, "ERRO" 'EXIBE MENSAGEM DE ERRO
Else
If IsNull([ServCod]) Then
DoCmd.Beep
MsgBox "DIGITE PELO MENOS O NÚMERO DA PLACA OU O NOME DO PROPRIETÁRIO ANTES DE
SALVAR ESTA NOTA DE ORÇAMENTO.", vbCritical, "ERRO" 'EXIBE MENSAGEM DE ERRO
Else
If Me.NewRecord And IsNull([ServPlaca]) And IsNull([ServProprietario]) Then
DoCmd.Beep
MsgBox "DIGITE PELO MENOS O NÚMERO DA PLACA OU O NOME DO PROPRIETÁRIO ANTES DE
SALVAR ESTA NOTA DE ORÇAMENTO.", vbCritical, "ERRO" 'EXIBE MENSAGEM DE ERRO
Else
If (Me.Dirty = True) Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 'SALVA O REGISTRO
MsgBox "NOTA DE ORÇAMENTO SALVA COM SUCESSO!", vbInformation, "AVISO" 'EXIBE A
MENSAGEM DE REGISTRO SALVO
Else
If (Me.Dirty = False) Then
MsgBox "VOCÊ JÁ SALVOU ESTA NOTA DE ORÇAMENTO.", vbCritical, "ERRO" 'EXIBE MENSAGEM DE
ERRO
Else
End If
End If
End If
End If
End If
End Sub
Obs.:
No caso desse código, ele funciona "quase" bem. O problema é que quando você salva e em seguida faz uma alteração nova em um campo, ele diz que não tem nada a ser salvo, informando que eu já salvei.
===============================================================
SEGUNDO AJUSTE:
PRECISO DE UM CÓDIGO VBA PARA:
Cancelar, temporariamente, a mensagem de erro padrão do MS Access, a famigerada "O valor que você inseriu não é válido para este campo". Para que eu possa colocar uma mensagem de erro personalizada por mim, caso o usuário tente digitar alguma coisa que não seja compatível com o formato "moeda".
O campo que quero fazer isso é o campo "ServValorTaxa1", formato "MOEDA".
Abraços e desculpem o abuso.
Não se preocupem não que logo logo eu vou parar de abusar vocês! rsrsrsrs
É porque estou quase terminando um programinha que fiz para cadastro, consulta e emissão de notas de orçamento. Ainda faltam pequenos ajustes.
PRIMEIRO AJUSTE:
PRECISO DE UM CÓDIGO VBA PARA O BOTÃO 'SALVAR', PARA FAZER O SEGUINTE:
=> Salvar a nota de orçamento, se detectar que há um novo registro;
=> Salvar a nota de orçamento, se detectar que houve uma alteração no registro;
=> Não salvar o registro, e exibir uma mensagem de erro, se detectar que o campo "ServPlaca" ou "ServProprietário" não foi preenchido;
=> Não salvar, e exibir uma mensagem de erro, se detectar que não há um registro novo em edição.
A tabela que alimenta esse formulário é a TabNotaOrcam.
O código que criei e que não está funcionando 100% é este:
Private Sub BotaoSalvarFormNotaOrcam_Click()
If IsNull([ServPlaca]) And IsNull([ServProprietario]) Then
DoCmd.Beep
MsgBox "DIGITE PELO MENOS O NÚMERO DA PLACA OU O NOME DO PROPRIETÁRIO ANTES DE
SALVAR ESTA NOTA DE ORÇAMENTO.", vbCritical, "ERRO" 'EXIBE MENSAGEM DE ERRO
Else
If IsNull([ServCod]) Then
DoCmd.Beep
MsgBox "DIGITE PELO MENOS O NÚMERO DA PLACA OU O NOME DO PROPRIETÁRIO ANTES DE
SALVAR ESTA NOTA DE ORÇAMENTO.", vbCritical, "ERRO" 'EXIBE MENSAGEM DE ERRO
Else
If Me.NewRecord And IsNull([ServPlaca]) And IsNull([ServProprietario]) Then
DoCmd.Beep
MsgBox "DIGITE PELO MENOS O NÚMERO DA PLACA OU O NOME DO PROPRIETÁRIO ANTES DE
SALVAR ESTA NOTA DE ORÇAMENTO.", vbCritical, "ERRO" 'EXIBE MENSAGEM DE ERRO
Else
If (Me.Dirty = True) Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 'SALVA O REGISTRO
MsgBox "NOTA DE ORÇAMENTO SALVA COM SUCESSO!", vbInformation, "AVISO" 'EXIBE A
MENSAGEM DE REGISTRO SALVO
Else
If (Me.Dirty = False) Then
MsgBox "VOCÊ JÁ SALVOU ESTA NOTA DE ORÇAMENTO.", vbCritical, "ERRO" 'EXIBE MENSAGEM DE
ERRO
Else
End If
End If
End If
End If
End If
End Sub
Obs.:
No caso desse código, ele funciona "quase" bem. O problema é que quando você salva e em seguida faz uma alteração nova em um campo, ele diz que não tem nada a ser salvo, informando que eu já salvei.
===============================================================
SEGUNDO AJUSTE:
PRECISO DE UM CÓDIGO VBA PARA:
Cancelar, temporariamente, a mensagem de erro padrão do MS Access, a famigerada "O valor que você inseriu não é válido para este campo". Para que eu possa colocar uma mensagem de erro personalizada por mim, caso o usuário tente digitar alguma coisa que não seja compatível com o formato "moeda".
O campo que quero fazer isso é o campo "ServValorTaxa1", formato "MOEDA".
Abraços e desculpem o abuso.