MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Compartilhe

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 16:51

    Antes de Mais Boa Tarde Wink

    Tenho Este Código para Salvar os Registos, Mas Preciso de Algo mais, Preciso que Caso eles sejam Registados em Exito então os campos são limpos para o usuário poder registar um novo serviço, e caso falte algum, ele nao limpa os campos como está neste momento a acontecer Sad

    Alguma Solução?


    Código:
    Private Function fncSalvar()
        On Error Resume Next
     If IsNull(Me.Data) Then
    MsgBox "O campo ""Data"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Data.SetFocus

    ElseIf IsNull(Me.RequesitantedoServiço) Then
    MsgBox "O campo ""Requesitante do Serviço"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.RequesitantedoServiço.SetFocus

    ElseIf IsNull(Me.ServiçoPrestado) Then
    MsgBox "O campo ""Serviço Prestado"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.ServiçoPrestado.SetFocus

    ElseIf IsNull(Me.DaLocalidade) Then
    MsgBox "O campo ""Da Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.DaLocalidade.SetFocus

    ElseIf IsNull(Me.ParaLocalidade) Then
    MsgBox "O campo ""Para a Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.ParaLocalidade.SetFocus

    ElseIf IsNull(Me.Destino) Then
    MsgBox "O campo ""Destino"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Destino.SetFocus

    ElseIf IsNull(Me.Horainicio) Then
    MsgBox "O campo ""Hora de Saida"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Horainicio.SetFocus

    ElseIf IsNull(Me.Horafim) Then
    MsgBox "O campo ""Hora de Chegada"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Horafim.SetFocus

    ElseIf IsNull(Me.Viatura) Then
    MsgBox "O campo ""Viatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Viatura.SetFocus

    ElseIf IsNull(Me.KMFinal) Then
    MsgBox "O campo ""KM Final"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.KMFinal.SetFocus

    ElseIf IsNull(Me.CodCondutor) Then
    MsgBox "O campo ""Nº do Condutor"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.CodCondutor.SetFocus

    ElseIf IsNull(Me.Assinatura) Then
    MsgBox "O campo ""Assinatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Assinatura.SetFocus


    Else
    Dim DB As DAO.Database
    Dim rs As DAO.Recordset
    Set DB = CurrentDb()
    Set rs = DB.OpenRecordset("Registos")
    rs.AddNew
    rs("Data") = Me.Data
    rs("RequesitantedoServiço") = Me.RequesitantedoServiço
    rs("ServiçoPrestado") = Me.ServiçoPrestado
    rs("DaLocalidade") = Me.DaLocalidade
    rs("ParaLocalidade") = Me.ParaLocalidade
    rs("Destino") = Me.Destino
    rs("Horainicio") = Me.Horainicio
    rs("Horafim") = Me.Horafim
    rs("Viatura") = Me.Viatura
    rs("CodCondutor") = Me.CodCondutor
    rs("Assinatura") = Me.Assinatura
    rs("NotasObservações") = Me.NotasObservações
    rs("NºCODU") = Me.NºCODU
    rs("idaEvolta") = Me.idaEvolta
    rs("NumeroTripulante") = Me.NumeroTripulante
    rs("NumeroTripulantedois") = Me.NumeroTripulantedois
    rs.Update
    rs.Close
    End If
        Me.Data = ""
        Me.NºCODU = ""
        Me.RequesitantedoServiço = ""
        Me.ServiçoPrestado = ""
        Me.DaLocalidade = ""
        Me.ParaLocalidade = ""
        Me.Destino = ""
        Me.idaEvolta = ""
        Me.Horainicio = ""
        Me.Horafim = ""
        Me.Viatura = ""
        Me.KMInicial = ""
        Me.KMFinal = ""
        Me.CodCondutor = ""
        Me.NumeroTripulante = ""
        Me.NumeroTripulantedois = ""
        Me.NomeCondutor = ""
        Me.NomeTripulante = ""
        Me.NomeTripulantedois = ""
        Me.Assinatura = ""
        Me.NotasObservações = ""
        Me.Refresh
    End Function
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 13/09/2016

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  José Machado em Qua 13 Dez 2017, 17:12

    Olá amigo

    Desmembrei o código


    Private Function fncSalvar()
    On Error Resume Next
    If IsNull(Me.Data) Then
    MsgBox "O campo ""Data"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Data.SetFocus

    ElseIf IsNull(Me.RequesitantedoServiço) Then
    MsgBox "O campo ""Requesitante do Serviço"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.RequesitantedoServiço.SetFocus

    ElseIf IsNull(Me.ServiçoPrestado) Then
    MsgBox "O campo ""Serviço Prestado"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.ServiçoPrestado.SetFocus

    ElseIf IsNull(Me.DaLocalidade) Then
    MsgBox "O campo ""Da Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.DaLocalidade.SetFocus

    ElseIf IsNull(Me.ParaLocalidade) Then
    MsgBox "O campo ""Para a Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.ParaLocalidade.SetFocus

    ElseIf IsNull(Me.Destino) Then
    MsgBox "O campo ""Destino"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Destino.SetFocus

    ElseIf IsNull(Me.Horainicio) Then
    MsgBox "O campo ""Hora de Saida"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Horainicio.SetFocus

    ElseIf IsNull(Me.Horafim) Then
    MsgBox "O campo ""Hora de Chegada"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Horafim.SetFocus

    ElseIf IsNull(Me.Viatura) Then
    MsgBox "O campo ""Viatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Viatura.SetFocus

    ElseIf IsNull(Me.KMFinal) Then
    MsgBox "O campo ""KM Final"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.KMFinal.SetFocus

    ElseIf IsNull(Me.CodCondutor) Then
    MsgBox "O campo ""Nº do Condutor"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.CodCondutor.SetFocus

    ElseIf IsNull(Me.Assinatura) Then
    MsgBox "O campo ""Assinatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Assinatura.SetFocus


    Else
    Dim DB As DAO.Database
    Dim rs As DAO.Recordset
    Set DB = CurrentDb()
    Set rs = DB.OpenRecordset("Registos")
    On Error Goto Erro
    rs.AddNew
    rs("Data") = Me.Data
    rs("RequesitantedoServiço") = Me.RequesitantedoServiço
    rs("ServiçoPrestado") = Me.ServiçoPrestado
    rs("DaLocalidade") = Me.DaLocalidade
    rs("ParaLocalidade") = Me.ParaLocalidade
    rs("Destino") = Me.Destino
    rs("Horainicio") = Me.Horainicio
    rs("Horafim") = Me.Horafim
    rs("Viatura") = Me.Viatura
    rs("CodCondutor") = Me.CodCondutor
    rs("Assinatura") = Me.Assinatura
    rs("NotasObservações") = Me.NotasObservações
    rs("NºCODU") = Me.NºCODU
    rs("idaEvolta") = Me.idaEvolta
    rs("NumeroTripulante") = Me.NumeroTripulante
    rs("NumeroTripulantedois") = Me.NumeroTripulantedois
    rs.Update
    rs.Close
    MsgBox "Salvo com sucesso"
    Limpar_campos
    Erro:
    MsgBox "Ocorreu erro ao Salvar"
    End If

    End Function

    Sub Limpar_campos()
    Me.Data = ""
    Me.NºCODU = ""
    Me.RequesitantedoServiço = ""
    Me.ServiçoPrestado = ""
    Me.DaLocalidade = ""
    Me.ParaLocalidade = ""
    Me.Destino = ""
    Me.idaEvolta = ""
    Me.Horainicio = ""
    Me.Horafim = ""
    Me.Viatura = ""
    Me.KMInicial = ""
    Me.KMFinal = ""
    Me.CodCondutor = ""
    Me.NumeroTripulante = ""
    Me.NumeroTripulantedois = ""
    Me.NomeCondutor = ""
    Me.NomeTripulante = ""
    Me.NomeTripulantedois = ""
    Me.Assinatura = ""
    Me.NotasObservações = ""
    Me.Refresh
    End Sub

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 17:29

    eu testei e quando cliquei no enviar registo apareceu a mensagem de erro do código

    "Ocorreu erro ao Salvar"

    Porque será que tá dando o erro ? Sad
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 13/09/2016

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  José Machado em Qua 13 Dez 2017, 17:34

    Amigo mande uma copia do projeto para poder facilitar a ajuda


    Att
    José

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 18:09

    certo

    Irei colocar para donwload

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 18:15

    Donwload Da Base de Dados
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 13/09/2016

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  José Machado em Qua 13 Dez 2017, 18:28

    Amigo

    Resolvido...
    Meu Blog sobre Access Orientado a Objetos em VBA. [Você precisa estar registrado e conectado para ver este link.]

    Anexo


    Última edição por José Machado em Qua 13 Dez 2017, 18:30, editado 1 vez(es) (Razão : Adicionando link)

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 18:38

    Boas,

    Eu baixei e está igual Sad

    Existe algum campo que estou a digitar algo que não posso?

    [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 13/09/2016

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  José Machado em Qua 13 Dez 2017, 18:42

    Veja se assim funciona

    Option Compare Database

    Private Sub btnSalvar_Click()
    fncSalvar
    End Sub

    Private Sub Texto7_LostFocus()
    End Sub


    Private Function fncSalvar()
    'On Error Resume Next
    If IsNull(Me.Data) Then
    MsgBox "O campo ""Data"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Data.SetFocus

    ElseIf IsNull(Me.RequesitantedoServiço) Then
    MsgBox "O campo ""Requesitante do Serviço"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.RequesitantedoServiço.SetFocus

    ElseIf IsNull(Me.ServiçoPrestado) Then
    MsgBox "O campo ""Serviço Prestado"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.ServiçoPrestado.SetFocus

    ElseIf IsNull(Me.DaLocalidade) Then
    MsgBox "O campo ""Da Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.DaLocalidade.SetFocus

    ElseIf IsNull(Me.ParaLocalidade) Then
    MsgBox "O campo ""Para a Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.ParaLocalidade.SetFocus

    ElseIf IsNull(Me.Destino) Then
    MsgBox "O campo ""Destino"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Destino.SetFocus

    ElseIf IsNull(Me.Horainicio) Then
    MsgBox "O campo ""Hora de Saida"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Horainicio.SetFocus

    ElseIf IsNull(Me.Horafim) Then
    MsgBox "O campo ""Hora de Chegada"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Horafim.SetFocus

    ElseIf IsNull(Me.Viatura) Then
    MsgBox "O campo ""Viatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Viatura.SetFocus

    ElseIf IsNull(Me.KMFinal) Then
    MsgBox "O campo ""KM Final"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.KMFinal.SetFocus

    ElseIf IsNull(Me.CodCondutor) Then
    MsgBox "O campo ""Nº do Condutor"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.CodCondutor.SetFocus

    ElseIf IsNull(Me.Assinatura) Then
    MsgBox "O campo ""Assinatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Assinatura.SetFocus


    Else
    Salvar_registro
    End If
    End Function
    Sub Salvar_registro()
    Dim DB As DAO.Database
    Dim rs As DAO.Recordset
    Set DB = CurrentDb()
    Set rs = DB.OpenRecordset("Registos")
    On Error GoTo Erro
    rs.AddNew
    rs("Data") = Me.Data
    rs("RequesitantedoServiço") = Me.RequesitantedoServiço
    rs("ServiçoPrestado") = Me.ServiçoPrestado
    rs("DaLocalidade") = Me.DaLocalidade
    rs("ParaLocalidade") = Me.ParaLocalidade
    rs("Destino") = Me.Destino
    rs("Horainicio") = Me.Horainicio
    rs("Horafim") = Me.Horafim
    rs("Viatura") = Me.Viatura
    rs("Assinatura") = Me.Assinatura
    rs("NotasObservacoes") = Me.NotasObservacoes
    rs("NCODU") = Me.NCODU
    rs("idaEvolta") = Me.idaEvolta
    rs("NumeroTripulante") = Me.NumeroTripulante
    rs("NumeroTripulantedois") = Me.NumeroTripulantedois
    rs.Update
    rs.Close
    MsgBox "Salvo com sucesso"
    Limpar_campos
    Exit Sub
    Erro:
    MsgBox "Ocorreu erro ao Salvar"
    End Sub
    Sub Limpar_campos()
    Me.Data = ""
    Me.RequesitantedoServiço = ""
    Me.ServiçoPrestado = ""
    Me.DaLocalidade = ""
    Me.ParaLocalidade = ""
    Me.Destino = ""
    Me.idaEvolta = ""
    Me.Horainicio = ""
    Me.Horafim = ""
    Me.Viatura = ""
    Me.KMInicial = ""
    Me.KMFinal = ""
    Me.CodCondutor = ""
    Me.NumeroTripulante = ""
    Me.NumeroTripulantedois = ""
    Me.NomeCondutor = ""
    Me.NomeTripulante = ""
    Me.NomeTripulantedois = ""
    Me.Assinatura = ""
    Me.Refresh
    End Sub

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 18:46

    Continua a dar o mesmo erro Sad

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 21:19

    testei com menos campos mas sem resultado

    Ó Código está igual ao ultimo que me deu, não tou a conseguir perceber onde está o erro no código ele parece estar perfeito Sad
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 13/09/2016

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  José Machado em Qui 14 Dez 2017, 10:20

    Anexo o novo
    Anexos
    botaosalvar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (82 Kb) Baixado 11 vez(es)

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 10:47

    Boas Amigo

    Continua com o erro a ir para o erro Sad

    Igual ao do Print Acima Sad

    Testei um Registo em todos os campos como tambem no print acima

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 11:15

    Amigo, Afinal era eu que estava a digitaar coisas erradas e eu não podia faze-lo

    Ou Seja Havia campos com regras e eu estava a digitar Algo que não estavam nas regras desses Campos

    Muito Obrigado Pela Solução

    Mais que Resolvido e a funcionar Perfeitamente, pelo menos no meu ver

    Mais uma vez muito Obrigado

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 11:21

    Afinal Ainda tenho uns problemas amigo

    Eu quando adaptei mesmo a minha base de Dados, ele Envia o Registo Com Sucesso, Depois Da o Tal mensagem de Erro ( Erro ao Salvar ) mas o Registo é gravado na mesma, e ainda Deixa cerca de 3 campos com Texto Escrito e já confirmei e eles estão todos no Limpar Campos

    O que será desta vez?


    Última edição por diogoisaias21 em Qui 14 Dez 2017, 11:51, editado 1 vez(es)
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 13/09/2016

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  José Machado em Qui 14 Dez 2017, 11:30

    De nada amigo


    Agora, marque como resolvido para fechar o tópico

    [Você precisa estar registrado e conectado para ver este link.]

    Att
    José

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 11:52

    Afinal Ainda tenho uns problemas amigo

    Eu quando adaptei mesmo a minha base de Dados, ele Envia o Registo Com Sucesso, Depois Da o Tal mensagem de Erro ( Erro ao Salvar ) mas o Registo é gravado na mesma, e ainda Deixa cerca de 3 campos com Texto Escrito e já confirmei e eles estão todos no Limpar Campos

    O que será desta vez?

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 12:37

    Consegui Resolver essa parte, tinha 2 Campos que não estavam desvinculados.

    agora tenho outro problema Quando registo um Registo, ele envia com exito, mas quando os campos são apagados e tento colocar um novo registo dá o tal erro, preciso de sair de Fechar o Formulário e abrir de novo para poder registar outro serviço

    Alguma Solução?

    Código de momento encontra-se assim:

    Código:
    Private Function fncSalvar()
    On Error Resume Next
    If IsNull(Me.Data) Then
    MsgBox "O campo ""Data"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Data.SetFocus

    ElseIf IsNull(Me.RequesitantedoServiço) Then
    MsgBox "O campo ""Requesitante do Serviço"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.RequesitantedoServiço.SetFocus

    ElseIf IsNull(Me.ServiçoPrestado) Then
    MsgBox "O campo ""Serviço Prestado"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.ServiçoPrestado.SetFocus

    ElseIf IsNull(Me.DaLocalidade) Then
    MsgBox "O campo ""Da Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.DaLocalidade.SetFocus

    ElseIf IsNull(Me.ParaLocalidade) Then
    MsgBox "O campo ""Para a Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.ParaLocalidade.SetFocus

    ElseIf IsNull(Me.Destino) Then
    MsgBox "O campo ""Destino"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Destino.SetFocus

    ElseIf IsNull(Me.Horainicio) Then
    MsgBox "O campo ""Hora de Saida"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Horainicio.SetFocus

    ElseIf IsNull(Me.Horafim) Then
    MsgBox "O campo ""Hora de Chegada"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Horafim.SetFocus

    ElseIf IsNull(Me.Viatura) Then
    MsgBox "O campo ""Viatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Viatura.SetFocus

    ElseIf IsNull(Me.KMFinal) Then
    MsgBox "O campo ""KM Final"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.KMFinal.SetFocus

    ElseIf IsNull(Me.CodCondutor) Then
    MsgBox "O campo ""Nº do Condutor"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.CodCondutor.SetFocus

    ElseIf IsNull(Me.Assinatura) Then
    MsgBox "O campo ""Assinatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Assinatura.SetFocus


    Else
        Salvar_registro
    End If
    End Function
    Sub Salvar_registro()
        Dim DB As DAO.Database
        Dim rs As DAO.Recordset
        Set DB = CurrentDb()
        Set rs = DB.OpenRecordset("Registos")
        On Error GoTo Erro
        rs.AddNew
            rs("Data") = Me.Data
            rs("NCODU") = Me.NCODU
            rs("RequesitantedoServiço") = Me.RequesitantedoServiço
            rs("ServiçoPrestado") = Me.ServiçoPrestado
            rs("DaLocalidade") = Me.DaLocalidade
            rs("ParaLocalidade") = Me.ParaLocalidade
            rs("Destino") = Me.Destino
            rs("Horainicio") = Me.Horainicio
            rs("Horafim") = Me.Horafim
            rs("Viatura") = Me.Viatura
            rs("KMInicial") = Me.KMInicial
            rs("KMFinal") = Me.KMFinal
            rs("Assinatura") = Me.Assinatura
            rs("NotasObservacoes") = Me.NotasObservacoes
            rs("idaEvolta") = Me.idaEvolta
            rs("CodCondutor") = Me.CodCondutor
            rs("NomeCondutor") = Me.NomeCondutor
            rs("NumeroTripulante") = Me.NumeroTripulante
            rs("NomeTripulante") = Me.NomeTripulante
            rs("NumeroTripulantedois") = Me.NumeroTripulantedois
            rs("NomeTripulantedois") = Me.NomeTripulantedois
           
        rs.Update
        rs.Close
        MsgBox "Registo Enviado Com Sucesso"
        Limpar_campos
    Exit Sub
    Erro:
        MsgBox "Ocorre um Erro ao Salvar"
    End Sub
    Sub Limpar_campos()
        Me.Data = ""
        Me.NCODU = ""
        Me.RequesitantedoServiço = ""
        Me.ServiçoPrestado = ""
        Me.DaLocalidade = ""
        Me.ParaLocalidade = ""
        Me.Destino = ""
        Me.idaEvolta = ""
        Me.Horainicio = ""
        Me.Horafim = ""
        Me.Viatura = ""
        Me.KMInicial = ""
        Me.KMFinal = ""
        Me.CodCondutor = ""
        Me.NomeCondutor = ""
        Me.NumeroTripulante = ""
        Me.NomeTripulante = ""
        Me.NumeroTripulantedois = ""
        Me.NomeTripulantedois = ""
        Me.Assinatura = ""
        Me.NotasObservacoes = ""
        Me.Refresh
    End Sub

    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 13/09/2016

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  José Machado em Qui 14 Dez 2017, 12:57

    Eu via aqui que o formulário esta vinculado a tabela, mesmo sem os campos estarem vinculado.

    Desvincule o formulário.

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 13:27

    Eu tirem a origem do form também, pedi a um funcionário para registar 2 serviços

    1 foi sem problema, o Segundo Apareceu o erro

    Essa solução foi sem successo Sad

    Enquanto tenta arranjar uma maneira eu tenho um Código Temporário

    Ou Seja Desativei o Botão Novo Serviço Coloquei os campos todos como ativos, e basicamente acrescentei estas 2 linhas

    Código:
        DoCmd.Close acForm, "RegistoV2", acSaveYes
        DoCmd.OpenForm "RegistoV2", acAdicionar, "", "", , acAdicionar

    Não é o que realmente quero mas sempre ajuda, pois é meio estranho e de um ponta de vista estúpido Cliquar em enviar o form fecha e abre de novo

    Por favor tente arranjar uma solução estava tudo tão perfeito só falta mesmo conseguir resolver esse pequeno problema

    Obrigado por todo o seu tempo na tentativa de resolução deste problema, e espero sinceramente que consigamos resolver
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 13/09/2016

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  José Machado em Qui 14 Dez 2017, 14:32

    Amigo... rsrs..
    Agora esta funcionando...
    Anexos
    botaosalvar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (78 Kb) Baixado 8 vez(es)

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 15:53

    Boas

    Eu coloquei o código na bd, pedi outravez a um funcionário para registar 2 serviços

    Primeiro Enviou sem problema

    Segundo, quando se cliqua no enviar registo, não acontece nada e o serviço não é registado

    No Segundo Enviar Registo Apenas os campos ficam preenchidos e não acontece nada Sad


    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 16:05

    não tenho a certeza absoluta mas tinha-me esquecido de por os empety

    Acho que agora está a funcionar bem

    irei fazer mais uns registos de teste

    E irei retornar ainda hoje

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 166
    Registrado : 01/09/2017

    Re: Impedir Limpar Campos Sem ter Sido Enviado com Sucesso

    Mensagem  diogoisaias21 em Qui 14 Dez 2017, 16:35

    Parece estar a funcionar,

    Irei deixaer o progama a funcionar a noite, e irei esperar pelo feedback dos funcionários para poder dar este tópico como resolvido

    Amanhã estará aqui a minha resposta se funcionou ou não funcionou

    Só tenho de agradecer pelo trabalho e tempo que teve para mim

    Obrigado

      Data/hora atual: Seg 18 Jun 2018, 16:11