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]Desmarcar caixa de seleção em formulário contínuo

    mduarteteixeira
    mduarteteixeira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 15/07/2014

    [Resolvido]Desmarcar caixa de seleção em formulário contínuo Empty [Resolvido]Desmarcar caixa de seleção em formulário contínuo

    Mensagem  mduarteteixeira em 14/6/2019, 12:56

    Prezados (as),

    Possuo um formulário (Credenciamento - OS) com dois botões. Um 'Selecionar Penalidade' e outro 'Emitir Penalidade'. No evento do 'Emitir Penalidade' ele abre um relatório constando as cláusulas que ativei em caixa de seleção previamente através do evento 'Selecionar Penalidade'.

    O que busco é: ao emitir a penalidade, o evento apre o form que contém as cláusulas para selecionar e desmarca todas as que foram marcadas. Estou tentando fazer isso da seguinte forma:

    (Estou trabalhando o laço apenas após o Else por hora)

    Só que, somente está desmarcando o primeiro registro. Como faço para o laço percorrer todos os registros do form? Já grato pela atenção de todos!

    Private Sub Emitir_Penalidade_Click()
    'abre relatório para emitir penalidade para esta OS
    Dim F As String


    F = Me.OS

    DoCmd.RunCommand (acCmdSaveRecord)
    DoCmd.OpenReport "Clausula Oitava Report", acViewReport, , "[OS]= '" & F & "'"
       If MsgBox("Emitir Penalidade?", vbYesNo + vbInformation, "Atenção") = vbYes Then
           DoCmd.PrintOut , , , , 1, 1
           DoCmd.Close acReport, "Clausula Oitava Report"
           'Call MsgBox("Limpar as penalidades selecionadas.")
           DoCmd.OpenForm "Clausula Oitava", acNormal
           [Forms]![Clausula Oitava]!Selecionar.SetFocus
           
           Else
               DoCmd.Close acReport, "Clausula Oitava Report"
               'Call MsgBox("Limpar as penalidades selecionadas.")
               DoCmd.OpenForm "Clausula Oitava", acNormal
               Dim X As Integer
               X = [Forms]![Clausula Oitava]!Código
               For X = 1 To 31 Step 1
                   If [Forms]![Clausula Oitava]!Selecionar = True Then
                       
                       [Forms]![Clausula Oitava]!Selecionar = False
                   End If
               Next X

               

       End If


    End Sub
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3954
    Registrado : 06/11/2009

    [Resolvido]Desmarcar caixa de seleção em formulário contínuo Empty Re: [Resolvido]Desmarcar caixa de seleção em formulário contínuo

    Mensagem  Assis em 14/6/2019, 13:21

    Teste

     If [Forms]![Clausula Oitava]!Selecionar = 0 Then
                     
      [Forms]![Clausula Oitava]!Selecionar = -1


    .................................................................................
    *** Só sei que nada sei ***
    mduarteteixeira
    mduarteteixeira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 15/07/2014

    [Resolvido]Desmarcar caixa de seleção em formulário contínuo Empty Re: [Resolvido]Desmarcar caixa de seleção em formulário contínuo

    Mensagem  mduarteteixeira em 14/6/2019, 13:38

    Olá Assis,


    Não deu certo. O evento não percorre os registros.



    Será que devo mudar o tipo de laço? O retirar esse If do laço?
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3954
    Registrado : 06/11/2009

    [Resolvido]Desmarcar caixa de seleção em formulário contínuo Empty Re: [Resolvido]Desmarcar caixa de seleção em formulário contínuo

    Mensagem  Assis em 14/6/2019, 13:40

    Quer postar essa parte ?


    .................................................................................
    *** Só sei que nada sei ***
    mduarteteixeira
    mduarteteixeira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 15/07/2014

    [Resolvido]Desmarcar caixa de seleção em formulário contínuo Empty Re: [Resolvido]Desmarcar caixa de seleção em formulário contínuo

    Mensagem  mduarteteixeira em 14/6/2019, 14:48

    Beleza,


    Limpei muitos dados para poder comprimir.

    Vai dar uns bugs pra abrir.

    Os eventos de botão estarão na aba Credenciamento - OS


    Obrigado
    Anexos
    [Resolvido]Desmarcar caixa de seleção em formulário contínuo AttachmentClaúsulas - MaximoAccess.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.6 Mb) Baixado 8 vez(es)
    mduarteteixeira
    mduarteteixeira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 99
    Registrado : 15/07/2014

    [Resolvido]Desmarcar caixa de seleção em formulário contínuo Empty Re: [Resolvido]Desmarcar caixa de seleção em formulário contínuo

    Mensagem  mduarteteixeira em 14/6/2019, 19:32

    Assis,


    Buscando mais a fundo em outros tópicos, consegui encontrar algo que solucionou a questão.

    Ao clicar no botão, abre o formulário e desmarca as caixas selecionadas. Não é visualmente bacana, mas cumpre.

    Vou marcar como resolvido e agradeço novamente sua atenção.

    Eis o código: a cada incremento em X, ele executa o If e segue para o próximo registro.

    Private Sub Emitir_Penalidade_Click()
    'abre relatório para emitir penalidade para esta OS
    Dim F As String
    Dim X As Integer

    F = Me.OS

    DoCmd.RunCommand (acCmdSaveRecord)
    DoCmd.OpenReport "Clausula Oitava Report", acViewReport, , "[OS]= '" & F & "'"
    If MsgBox("Emitir Penalidade?", vbYesNo + vbInformation, "Atenção") = vbYes Then
    DoCmd.PrintOut , , , , 1, 1
    DoCmd.Close acReport, "Clausula Oitava Report"
    DoCmd.OpenForm "Clausula Oitava", acNormal
    For X = 1 To 31 Step 1

    If [Forms]![Clausula Oitava]!Selecionar = True Then

    [Forms]![Clausula Oitava]!Selecionar = False
    End If
    DoCmd.GoToRecord , , acNext

    Next X


    DoCmd.Close acForm, "Clausula Oitava"

    Else
    DoCmd.Close acReport, "Clausula Oitava Report"
    DoCmd.OpenForm "Clausula Oitava", acNormal

    For X = 1 To 31 Step 1

    If [Forms]![Clausula Oitava]!Selecionar = True Then

    [Forms]![Clausula Oitava]!Selecionar = False
    End If
    DoCmd.GoToRecord , , acNext

    Next X


    DoCmd.Close acForm, "Clausula Oitava"


    End If

    Conteúdo patrocinado

    [Resolvido]Desmarcar caixa de seleção em formulário contínuo Empty Re: [Resolvido]Desmarcar caixa de seleção em formulário contínuo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 20/11/2019, 12:57