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]Repetição de Código

    avatar
    jpaulorh
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/02/2010

    [Resolvido]Repetição de Código Empty [Resolvido]Repetição de Código

    Mensagem  jpaulorh 28/4/2015, 15:33

    Caros,  tenho um formulário setorizado que ao clicar no campo (quadro) ficará marcado e abrira um segundo formulário e funciona com seguinte código:

    [Resolvido]Repetição de Código Vxjjtw

    Código:
    'F1---------------------------------------------------------

    If Me.CAMPO = 1 And Me.ACAO = 1 Then

    Forms!frmFotosImovel!T1 = Me.txOrigem
    Forms!frmFotosImovel!F_1.Caption = "c"
    Forms!frmFotosImovel!F1.Value = 1

    ElseIf Me.CAMPO = 1 And Me.ACAO = 0 Then
       If MsgBox("Voçê está alterando observação. " _
    & vbCrLf & "Deseja Salvar ?", vbYesNo + vbQuestion, "Confirmação") = vbYes Then

    Forms!frmFotosImovel!T1 = Me.txOrigem
    Forms!frmFotosImovel!F_1.Caption = "c"
    Forms!frmFotosImovel!F1.Value = 1
    Call Fecha

    Else

    Undo

    Forms!frmFotosImovel!T1 = Me.txOrigem
    Forms!frmFotosImovel!F_1.Caption = "c"
    Forms!frmFotosImovel!F1.Value = 1
    Call Fecha

    End If
    End If

    'F2---------------------------------------------------------

    If Me.CAMPO = 2 And Me.ACAO = 1 Then

    Forms!frmFotosImovel!T2 = Me.txOrigem
    Forms!frmFotosImovel!F_2.Caption = "c"
    Forms!frmFotosImovel!F2.Value = 1

    ElseIf Me.CAMPO = 2 And Me.ACAO = 0 Then
       If MsgBox("Voçê está alterando observação. " _
    & vbCrLf & "Deseja Salvar ?", vbYesNo + vbQuestion, "Confirmação") = vbYes Then

    Forms!frmFotosImovel!T2 = Me.txOrigem
    Forms!frmFotosImovel!F_2.Caption = "c"
    Forms!frmFotosImovel!F2.Value = 1

    Else

    Undo

    Forms!frmFotosImovel!T2 = Me.txOrigem
    Forms!frmFotosImovel!F_2.Caption = "c"
    Forms!frmFotosImovel!F2.Value = 1

    End If
    End If

    Pergunta:

    Como faço para não repetir o mesmo código para F1, F2, F3... F90, dado que essa repetição ocorrerá 90 vezes, e consequentemente como ficará muito extenso a função dá como excedente.

    Será que fui claro?
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1012
    Registrado : 23/09/2011

    [Resolvido]Repetição de Código Empty Re: [Resolvido]Repetição de Código

    Mensagem  cleverson_manaus 4/5/2015, 15:52



    Você têm 99 quadrados que podem usar a mesma rotina, cria uma função, e chama essa função no evento AoClicar no form:


    Call "SuaFuncao"


    Abraços




    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    avatar
    jpaulorh
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/02/2010

    [Resolvido]Repetição de Código Empty Re: [Resolvido]Repetição de Código

    Mensagem  jpaulorh 4/5/2015, 20:48

    Não amigo, acho que não entendeu...
    O procedimento executado pelo código é o mesmo, só que cada execução tem que ser verificado cada campo no formulário... E, na verificação passa por 99 campos. Está inclusive dando como código excedente...

    'F1---------------------------------------------------------

    If Me.CAMPO = 1 And Me.ACAO = 1 Then

    Forms!frmFotosImovel!T(n) = Me.txOrigem
    Forms!frmFotosImovel!F_(n).Caption = "c"
    Forms!frmFotosImovel!F(n).Value = 1

    ElseIf Me.CAMPO = 1 And Me.ACAO = 0 Then
    If MsgBox("Voçê está alterando observação. " _
    & vbCrLf & "Deseja Salvar ?", vbYesNo + vbQuestion, "Confirmação") = vbYes Then

    Forms!frmFotosImovel!T(n) = Me.txOrigem
    Forms!frmFotosImovel!F_(n).Caption = "c"
    Forms!frmFotosImovel!F(n).Value = 1
    Call Fecha

    Else

    Undo

    Forms!frmFotosImovel!T(n) = Me.txOrigem
    Forms!frmFotosImovel!F_(n).Caption = "c"
    Forms!frmFotosImovel!F(n).Value = 1
    Call Fecha

    End If
    End If

    Gostaria de saber se era possível existir um loop que ao invés de copiar as 99 vezes o código fosse executando e alterando o valor de (n) que corresponde ao campo do formulário.

    Alguém pode me ajudar?

    Conteúdo patrocinado


    [Resolvido]Repetição de Código Empty Re: [Resolvido]Repetição de Código

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 05:38