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]Ajuda com erro no código vba

    avatar
    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

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

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

    Mensagem  Ismael Silva em 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 100%

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

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

    Mensagem  Silvio em 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
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 456
    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 em 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 100%

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

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

    Mensagem  Silvio em 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
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 456
    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 em 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 100%

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

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

    Mensagem  Silvio em 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
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 456
    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 em 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 100%

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

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

    Mensagem  Silvio em 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) (Razã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
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 456
    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 em 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: 24/8/2019, 23:38