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


2 participantes

    [Resolvido]Ajuda com erro no código vba

    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    Registrado : 11/12/2017

    [Resolvido]Ajuda com erro no código vba Empty [Resolvido]Ajuda com erro no código vba

    Mensagem  Ismael Silva 14/9/2018, 12:11


    Bom dia,

    Estou com uma dúvida quanto ao código abaixo, poia ao clicar em Salvar, caso o campo Comb esteja vazio, deve acusar uma mensagem informando que o mesmo está vazio, e perguntando se quero continuar mesmo assim, ou não, e para o comando que eu coloquei, se eu clicar em não, coloca o foco direto no campo, mas se eu clicar em sim para continuar, não faz nada, não dá sequência. Onde posso estar errando?





    Private Sub Salvar_Click()

    Dim Resultado As VbMsgBoxResult

    If IsNull(Me.Comb) Or Me.Comb.Value = "" Or Me.Comb.Value = 0 Then

    Resultado = MsgBox("Campo Comb está vazio. Deseja continuar mesmo assim?.", vbInformation + vbYesNo, "Atenção")
    If Resultado = vbNo Then

    Exit Sub

    me.comb.SetFocus

    End if


    Obrigado desde já.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Silvio 14/9/2018, 13:30

    Algo parecido com isso

    If IsNull(Me.Comb.value) Or Me.Comb.Value = ""  Then
    MsgBox("Campo Comb está vazio. Deseja continuar mesmo assim?.", vbInformation + vbYesNo, "Atenção")= vbyes then
    docmd.save
    msgbox"....Registro Salvo !", vbinformation, "AVISO..."
    exit sub
    else
    msgbox"....Registro NÃO Salvo !", vbinformation, "AVISO..."
    me.comb.SetFocus
    End if
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    Registrado : 11/12/2017

    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Ismael Silva 4/10/2018, 11:31

    Silvio,

    Ainda não deu certo, pois se eu clico em sim para continuar, não limpa os campos.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Silvio 4/10/2018, 11:36

    Bom dia...

    Bem vamos ver...

    Qual o nome que fora dado a essa combobox : me.combo.value ?

    Se for o caso, zipa as tabelas, formulários envolvidos na duvida e posta aqui para lhe ajudarmos.

    Abraços


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    Registrado : 11/12/2017

    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Ismael Silva 4/10/2018, 11:59


    Silvio,

    Segue o link abaixo.

    O nome da combobox é Comb.

    Eu testei o seu código no botão salvar (Ao clicar), e como não consegui fazer ficar da forma que queria, mantive o código que tinha anteriormente.

    Repare que o que eu quero, é que ao deixar o campo vazio, ao clicar em salvar, no caso do campo Comb, vai perguntar se quero continuar mesmo assim, se eu dizer que sim, que salve todos os dados e limpe todos os campos, se dizer que não, que coloque o foco no campo Comb, para que eu possa escolher alguma opção.

    1Frm_Lançamentos


    https://www.dropbox.com/s/6fw6iyso98lw9zj/Controle%20de%20Abastecimentos.accdb?dl=0
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Silvio 4/10/2018, 12:30

    Bom dia...

    A lógica do comando ao salvar está meio confusa...
    Se eu colocar sim nessa combobox e salvar e limpar os campos que deseja...como fica o preenchimento dos demais campos que na rotina estão ? Sendo que ao salvar você vai para um novo registro ?

    Creio que o correto seria colocar o comando para salvar e ir para um novo registro no teu último campo a ser preenchido pelo usuário.

    No aguardo da resposta.




    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    Registrado : 11/12/2017

    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Ismael Silva 4/10/2018, 12:37

    Silvio,

    Nesta rotina, a cada vez que que eu deixar um campo em branco, ao salvar vai acusar alguma coisa, caso não fique nada em branco, vai salvar e posterior limpar os campos, na rotina que tenho funciona desta forma e corretamente, apenas gostaria de mudar a rotina neste caso específico do campo Comb.
    Caso não dê pra fazer, paciência, deixo assim mesmo.

    Obrigado.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Silvio 4/10/2018, 12:42

    ok, vamos mexer então.

    Teste a seguinte rotina...

    Código:
    Private Sub Salvar_Click()
    On Error Resume Next
    Dim Resultado As VbMsgBoxResult

    'Observação....acrescentado o Else nas rotinas.

    If IsNull(Me.NF) Or Me.NF.Value = "" Or Me.NF.Value = 0 Then
    MsgBox "NF é de preenchimento obrigatório.", vbOKOnly + vbCritical, "Atenção"
    Me.NF.SetFocus

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


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

    'rotina abaixo acrescentada
    ElseIf IsNull(Me.Comb) Or Me.Comb.Value = "" Then
    If MsgBox("Campo Comb está vazio. Deseja continuar mesmo assim?.", vbInformation + vbYesNo, "Atenção") = vbNo Then
    MsgBox "Escolher combustível !!", vbCritical, "AVISO..."
    Me.Comb.SetFocus
    Exit Sub
    Else
    DoCmd.Save
    MsgBox "Registro salvo parcialmente", vbInformation, "AVISO..."
    Exit Sub
    End If




    If IsNull(Me.Valor_Unit) Or Me.Valor_Unit.Value < 1 Then

    Resultado = MsgBox("Campo Valor Unitário está vazio. Deseja continuar mesmo assim?.", vbInformation + vbYesNo, "Atenção")


    'If Resultado = vbNo Then

    Me.Valor_Unit.SetFocus

    Me.[Valor_Unit].BackColor = 26367
    End If

    ' Aqui pergunta ao salvar se deseja informar alguma observação

    Resultado = MsgBox(" Deseja informar uma Observação?", vbInformation + vbYesNo, "Inserção de Observação")

    If Resultado = vbYes Then

    Me.Atencao = True

    Me.Lista_Obs.Requery

    'MsgBox "Registro salvo com sucesso!", vbInformation, "Inserção de registro"

    Else

    Me.Atencao = False

    MsgBox "Registro salvo com sucesso!", vbInformation, "Inserção de registro"

    End If

    Me.Lista_Obs.Requery
    Me.Recalc

    If IsNull(Me.Conta) Or Me.Conta.Value = "" Or Me.Conta.Value >= 1 Then

    Me.Lista_Msg = "Contém " & " " & Conta & " registros em observação"

    Else

    Me.Lista_Msg = ""

    End If

    Dcmd.Save
    End If

    End Sub
    End If


    Última edição por Silvio em 4/10/2018, 12:56, editado 3 vez(es) (Motivo da edição : Acréscimo de rotina)


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    Registrado : 11/12/2017

    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Ismael Silva 3/3/2019, 14:28

    Dando como resolvido.

    Conteúdo patrocinado


    [Resolvido]Ajuda com erro no código vba Empty Re: [Resolvido]Ajuda com erro no código vba

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 17:42