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]Compactação de código.

    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Compactação de código. Empty Compactação de código.

    Mensagem  Luiz Carlos Junior 16/6/2013, 14:57

    Beleza feras?
    Segue e saga de aprendizado e com ela a encheção de saco para vcs.
    No BD que estou construindo, existe uma parte para preenchimento de cartões de ponto dos funcionários. Criei um reltatório (rel_CartaoPonto) que é preenchido através de um form (Cartao_Ponto). O jeito que arrumei de fazer ficou enorme e minha dúvida é se da pra compactar esse código usando algum tipo de loop. Segue o código:

    Option Compare Database

    Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)

    Me!txtMes.Value = Form_Cartao_Ponto.cmbMes.Value & " - " & Form_Cartao_Ponto.cmbAno.Value

    Select Case Form_Cartao_Ponto.cmbMes
        Case "Janeiro"
            Me.lblFN1.Visible = True
            Me.lblSAB5.Visible = True
            Me.lblSAB12.Visible = True
            Me.lblDOM6.Visible = True
            Me.lblDOM13.Visible = True
            Me!txtME2.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS2.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE2.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS2.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME3.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS3.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE3.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS3.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME4.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS4.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE4.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS4.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME7.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS7.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE7.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS7.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME8.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS8.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE8.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS8.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME9.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS9.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE9.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS9.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME10.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS10.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE10.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS10.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME11.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS11.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE11.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS11.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME14.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS14.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE14.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS14.Value = Form_Funcionários.cmbSAIDA.Value
            Me!txtME15.Value = Form_Funcionários.cmbEntrada.Value
            Me!txtMS15.Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me!txtTE15.Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me!txtTS15.Value = Form_Funcionários.cmbSAIDA.Value
    End Select

    End Sub

    Percebam que isso é só para um mês deste ano e preciso fazer para todos dos próximos anos de acordo com as datas específicas. 
    Tenho uma outra dúvida tb que é ao abrir o form, o usuário tem que inserir as datas das faltas. Bom, gostaria que, de acordo com o tipo de falta e seu mês, aparecesse no relatório tb. É possível?
    Aguardo os gênios.
    Abraços!

    PS: Segue anexo o BD.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Compactação de código. Empty Re: [Resolvido]Compactação de código.

    Mensagem  Alexandre Neves 16/6/2013, 16:42

    Boa tarde,
    Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
    dim  cont as integer
    Me!txtMes.Value = Form_Cartao_Ponto.cmbMes.Value & " - " & Form_Cartao_Ponto.cmbAno.Value

    Select Case Form_Cartao_Ponto.cmbMes
        Case "Janeiro"
            Me.lblFN1.Visible = True
            Me.lblSAB5.Visible = True
            Me.lblSAB12.Visible = True
            Me.lblDOM6.Visible = True
            Me.lblDOM13.Visible = True
            for cont=2 to 15
          Select Case cont
         Case 2,3,4,7,8,9,10,11,14,15
            Me("txtME" & cont).Value = Form_Funcionários.cmbEntrada.Value
            Me("txtMS" & cont).Value = Form_Funcionários.cmbENTRADA_ALMOCO.Value
            Me("txtTE" & cont).Value = Form_Funcionários.cmbSAIDA_ALMOCO.Value
            Me("txtTS" & cont).Value = Form_Funcionários.cmbSAIDA.Value
            end select
            next
    End Select


    sobre a outra dúvida, não entendi


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Compactação de código. Empty Re: [Resolvido]Compactação de código.

    Mensagem  Luiz Carlos Junior 16/6/2013, 18:05

    Valeu Mestre Alexandre.
    Tentarei explicar a outra dúvida.
    Quando abre o form_Funcinários, tem um botão "Cartão de POnto". Clicando nele, abre outro form "Faltas". Nele, o usuário digita o dia da falta e o motivo dela. Ao inserir essa falta, ela preenche a List box do form e grava os dados na tabela "Faltas_Cartao". O que quero é o seguinte:
    O usuário inseriu, por exemplo, ano "2013", mês "junho", dia "13", motivo da falta "Abonada". Gostaria que essa falta aparecesse na hora da impressão na linha 13, que é a relativa ao dia da falta.
    Deu pra entender?
    Desde já agradeço a ajuda.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Compactação de código. Empty Re: [Resolvido]Compactação de código.

    Mensagem  Alexandre Neves 16/6/2013, 18:07

    Tem de ver onde essa falta fica gravada para saber onde a ir buscar para a impressão


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Compactação de código. Empty Re: [Resolvido]Compactação de código.

    Mensagem  Luiz Carlos Junior 16/6/2013, 18:10

    Na tabela "tb_Faltas_Cartao
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Compactação de código. Empty Re: [Resolvido]Compactação de código.

    Mensagem  Luiz Carlos Junior 18/6/2013, 16:19

    Alguém?
    Ta chegando o fim de mês e queria testar fazendo os cartões aqui da escola...
    Luiz Carlos Junior
    Luiz Carlos Junior
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 473
    Registrado : 21/08/2012

    [Resolvido]Compactação de código. Empty Re: [Resolvido]Compactação de código.

    Mensagem  Luiz Carlos Junior 19/6/2013, 14:31

    Tópico resolvido.
    Grato a todos.

    Conteúdo patrocinado


    [Resolvido]Compactação de código. Empty Re: [Resolvido]Compactação de código.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 19:25