MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


3 participantes

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

    avatar
    diogoisaias21
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diogoisaias21 12/12/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
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 12/12/2017, 17:15

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

    https://www.maximoaccess.com/t280-valida-campos-nulos#1575

    https://www.maximoaccess.com/t7651-so-salva-se-quiser


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

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos Folder_announce_new Instruções SQL como utilizar...
    avatar
    diogoisaias21
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diogoisaias21 12/12/2017, 17:53

    Obrigada pela resposta

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

    Muito obrigada pela resposta
    avatar
    diogoisaias21
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diogoisaias21 13/12/2017, 08:52

    Bom dia JPaulo

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

    tauron
    tauron
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  tauron 13/12/2017, 10:07

    Veja se ajuda:
    Anexos
    [Resolvido]Não salvar o Registo sem Estarem os campos necessários preenchidos AttachmentBotaoSalvar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 13 vez(es)
    avatar
    diogoisaias21
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diogoisaias21 13/12/2017, 10:19

    Obrigado pela resposta

    vou tentar adaptar a minha base de dados Smile

    avatar
    diogoisaias21
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diogoisaias21 13/12/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?
    avatar
    diogoisaias21
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diogoisaias21 13/12/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
    avatar
    diogoisaias21
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diogoisaias21 13/12/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

    avatar
    diogoisaias21
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  diogoisaias21 13/12/2017, 11:10

    Resolvido

    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 15:41