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

    [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Compartilhe

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  diogoisaias21 em Ter 12 Dez 2017, 17:00

    Boa Tarde

    Eu precisava que este código evitasse o envio do registo e que só enviasse quando todos esses campos estivessem preenchidos, ele no formulário corre normal, aparece incluvise a mensagem quando não se encontram todos preenchidos mas o registo é salvo na mesma Sad

    Existe alguma maneira de resolver este problema, sem adicionar "necessário" no tabela? pois isso não irá resolver verdadeiramente o meu problema

    Obrigado

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

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


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

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


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

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


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

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


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

    ElseIf IsNull(Me.KM_Inicial) Or Me.KM_Inicial.Value = "" Then
    MsgBox "O campo ""KM Inicial"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.KM_Inicial.SetFocus

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

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


    ElseIf IsNull(Me.Assinatura) Or Me.Assinatura.Value = "" Then
    MsgBox "O campo ""Assinatura"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Assinatura.SetFocus
    End If
    Exit Sub

        DoCmd.GoToRecord , , acNewRec
        Me.Refresh

    End Sub
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9750
    Registrado : 04/11/2009

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  JPaulo em Ter 12 Dez 2017, 17:15

    Veja estes dois exemplos e tente adaptar, vai encontrar uma maneira profissional de fazer a coisa;

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

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


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    Sucesso e Bons Estudos
    Success and Good Studies

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

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  diogoisaias21 em Ter 12 Dez 2017, 17:53

    Obrigada pela resposta

    Irei tentar testar hoje caso já não consiga só amanhã retornarei

    Muito obrigada pela resposta

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 08:52

    Bom dia JPaulo

    o segundo link não serve para mim, e o primeiro, o link para download está quebrado Sad

    avatar
    tauron
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 751
    Registrado : 07/12/2011

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  tauron em Qua 13 Dez 2017, 10:07

    Veja se ajuda:
    Anexos
    BotaoSalvar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 5 vez(es)

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 10:19

    Obrigado pela resposta

    vou tentar adaptar a minha base de dados Smile


    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 10:41

    fiquei com uma duvida, aquele formulário, são apenas textbox? não são mesmo os campos de origem da tabela?

    é isso?

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 10:49

    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.Requesitante_do_Serviço) Then
    MsgBox "O campo ""Requesitante do Serviço"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Requesitante_do_Serviç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.Da_Localidade) Then
    MsgBox "O campo ""Da Localidade"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.Da_Localidade.SetFocus

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

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

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

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

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

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

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

    ElseIf IsNull(Me.KM_Final) Then
    MsgBox "O campo ""KM Final"" é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.KM_Final.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("Texto3") = Me.Requesitante_do_Serviço
    rs("Texto5") = Me.ServiçoPrestado
    rs("Texto7") = Me.[Da Localidade]
    rs("Texto7") = Me.[Para a Localidade]
    rs("Texto7") = Me.Destino
    rs("Texto7") = Me.Horainicio
    rs("Texto7") = Me.Horafim
    rs("Texto7") = Me.Viatura
    rs("Texto7") = Me.[KM Inicial]
    rs("Texto7") = Me.[KM Final]
    rs("Texto7") = Me.[KM Percorridos]
    rs("Texto7") = Me.CodCondutor
    rs("Texto7") = Me.Assinatura

    rs.Update
    rs.Close

    End If
    End Function

    A minha questão é, o que tenha de meter nesta parte rs("Texto") são os nomes da tabela? são os nomes dos campos do form? e depois de = ? ta tabela ou do form tmb?


    Código:
    rs("Data") = Me.Data
    rs("Texto3") = Me.Requesitante_do_Serviço
    rs("Texto5") = Me.ServiçoPrestado
    rs("Texto7") = Me.[Da Localidade]
    rs("Texto7") = Me.[Para a Localidade]
    rs("Texto7") = Me.Destino
    rs("Texto7") = Me.Horainicio
    rs("Texto7") = Me.Horafim
    rs("Texto7") = Me.Viatura
    rs("Texto7") = Me.[KM Inicial]
    rs("Texto7") = Me.[KM Final]
    rs("Texto7") = Me.[KM Percorridos]
    rs("Texto7") = Me.CodCondutor
    rs("Texto7") = Me.Assinatura

    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 11:08

    Coloquei com os nomes que estão na tabela, e removi a origem de todos os campos do meu formulário e parece que agora está a funcionar perfeitamente

    Irei dar o tópico como resolvido, e caso algo corra mal eu reabro, mas esperemos que não hehehe

    Muito obrigado pelo solução apresentada


    diogoisaias21
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos

    Mensagem  diogoisaias21 em Qua 13 Dez 2017, 11:10

    Resolvido

      Data/hora atual: Qua 17 Jan 2018, 20:11