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]Desabilitar campos ao atender condição IF na TextBox

    avatar
    cmedeiros
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 29/05/2016

    [Resolvido]Desabilitar campos ao atender condição IF na TextBox Empty [Resolvido]Desabilitar campos ao atender condição IF na TextBox

    Mensagem  cmedeiros 1/3/2022, 19:53

    boa tarde a todos

    Novamente venho pedir a ajuda de vocês.

    Inseri um comando if para checagem de atendimento de uma condição, onde sendo atendida alguns campos devem ser desabilitados.

    De fato ao executar o comando ao clicar em um botão, de fato os campos são desabilitados, porém esses campos também ficam desabilitados para os demais registros existentes, mesmo que a condição if não foi atendida nos demais registros. Outro fato é que ao sair e entrar novamente no formulário, os campos voltam a ficar habilitados.

    Segue abaixo comando que estou utilizando no evento ao clicar do botão.

    Observação: o botão já executa um comando relacionado a input de dados na tabela (o que está funcionando perfeitamente).

    Preciso apenas de ajuda no comando if e sua condição que está destacado em negrito.

    Private Sub cmd_aprova_Click()
    Dim strSQL As String
    Dim NVcboStatus As String
    Dim NViDOrdem As Integer

    NVcboStatus = Forms!frmOrdemCompra!cboStatus
    NViDOrdem = Forms!frmOrdemCompra!iDOrdem

    strSQL = "UPDATE tblOrdemCompra SET statusOrdem = '" & NVcboStatus & "' WHERE iDOrdem = " & NViDOrdem
    CurrentDb.Execute strSQL 'Lembrando que para String novoValor precisa ficar entre apóstrofos e aspas ' " & novoValor & " '
    MsgBox "Novo Status Atribuido!!!", vbInformation, "Aviso"

    Me!cboStatus = ""
    statusOrdem.Requery

    If Me.statusOrdem.Value = "LIBERADA" Then
    Me.dataPrevEntrega.Enabled = False
    Me.FornecedorTxt.Enabled = False
    Me.transportador.Enabled = False
    Else
    Me.dataPrevEntrega.Enabled = True
    Me.FornecedorTxt.Enabled = True
    Me.transportador.Enabled = True
    End If


    dataPrevEntrega.Requery
    FornecedorTxt.Requery
    transportador.Requery

    End Sub
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2166
    Registrado : 23/01/2018

    [Resolvido]Desabilitar campos ao atender condição IF na TextBox Empty Re: [Resolvido]Desabilitar campos ao atender condição IF na TextBox

    Mensagem  crysostomo 1/3/2022, 20:32

    Boa noite.
    não foi atendida nos demais registros. Outro fato é que ao sair e entrar novamente no formulário, os campos voltam a ficar habilitados. escreveu:

    No evento ao abrir tem que ficar desabitado, ele so vai se habilitar quando algum campo statusOrdem do registro  for concedida ao if ele libera, ou seja, todos os registro estará desabilidado exceto os registro que foi concedida pelo if.
    Ou seja, quando abrir o formulario/registro ele vai ver qual registro está com o statusOrdem  Não Liberado

    Código:
    Ao abrir()
    Me.dataPrevEntrega.Enabled = False
    Me.FornecedorTxt.Enabled = False
    Me.transportador.Enabled = False


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    avatar
    cmedeiros
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 29/05/2016

    [Resolvido]Desabilitar campos ao atender condição IF na TextBox Empty Re: [Resolvido]Desabilitar campos ao atender condição IF na TextBox

    Mensagem  cmedeiros 1/3/2022, 22:22

    Boa noite Amigo,

    Obrigado pelo pronto retorno.

    Consegui resolver em parte a questão...

    Coloquei a linha de comando que está em negrito na mensagem anterior, no evento "No Atual" do formulário.

    Ele desabilitou os campos de forma correta, quando atendida a condição no campo statusOrdem, porém somente demonstra como desabilitado quando mudo de registro, ou quando fecho e abro o formulário novamente.

    Já coloquei linhas de comando para atualização dos campos em diversos pontos, mais não consegui resolver...

    Resumindo, comando para desabilitar funcionando, mais não atualiza de forma imediata ao executar.

    Se puder dar uma ideia nesse sentido, ficará perfeito.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2166
    Registrado : 23/01/2018

    [Resolvido]Desabilitar campos ao atender condição IF na TextBox Empty Re: [Resolvido]Desabilitar campos ao atender condição IF na TextBox

    Mensagem  crysostomo 1/3/2022, 23:12

    Estranho porque o UPDATE atualiza rápido.    
    Veja esses
    Me.requery
    Me.refresh

    Um atualiza formulário e outro os bancos


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2594
    Registrado : 13/12/2016

    [Resolvido]Desabilitar campos ao atender condição IF na TextBox Empty Re: [Resolvido]Desabilitar campos ao atender condição IF na TextBox

    Mensagem  Alexandre Fim 1/3/2022, 23:30

    Olá Medeiros,

    Por gentileza, compartilhe uma cópia do seu bd, somente objetos (formulários/tabelas/consultas/modulos e etc.) envolvidos na sua questão para facilitar aos amigos do forum, para analise e solução do problema.

    Grato

    []'s
    FIM


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Desabilitar campos ao atender condição IF na TextBox Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    cmedeiros
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 29/05/2016

    [Resolvido]Desabilitar campos ao atender condição IF na TextBox Empty Re: [Resolvido]Desabilitar campos ao atender condição IF na TextBox

    Mensagem  cmedeiros 16/3/2022, 11:51

    Olá Senhores, bom dia

    Me desculpem a demora para retornar, mas em fim.

    Conseguir resolver o problema da atualização dos dados após o atendimento da condição, porém ele acabou por criar o outro que foi o retorno ao primeiro registro da tabela e também consegui resolver essa questão utilizando uma solução encontrada aqui no forum. Ficando dessa maneira.

    Private Sub cmd_aprova_Click()
    Dim strSQL As String
    Dim NVcboStatus As String
    Dim NViDOrdem As Integer

    NVcboStatus = Forms!frmOrdemCompra!cboStatus
    NViDOrdem = Forms!frmOrdemCompra!iDOrdem

    strSQL = "UPDATE tblOrdemCompra SET statusOrdem = '" & NVcboStatus & "' WHERE iDOrdem = " & NViDOrdem
    CurrentDb.Execute strSQL 'Lembrando que para String novoValor precisa ficar entre apóstrofos e aspas ' " & novoValor & " '
    MsgBox "Novo Status Atribuido!!!", vbInformation, "Aviso"

    Me!cboStatus = ""

    Dim meuCod As Integer
    meuCod = Me.iDOrdem
    Me.Requery
    Me.RecordsetClone.MoveFirst
    Me.RecordsetClone.FindFirst "[iDOrdem] = " & meuCod
    Me.Bookmark = Me.RecordsetClone.Bookmark

    End Sub


    Agradeço a todos que procuraram ajudar e mais uma vez peço desculpas pela demora no retorno.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2166
    Registrado : 23/01/2018

    [Resolvido]Desabilitar campos ao atender condição IF na TextBox Empty Re: [Resolvido]Desabilitar campos ao atender condição IF na TextBox

    Mensagem  crysostomo 16/3/2022, 14:54

    Sucesso.


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.

      Data/hora atual: 24/9/2022, 21:02