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]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    avatar
    LedahBR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 52
    Registrado : 02/09/2023

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  LedahBR 6/2/2024, 12:57

    Olá, pessoas

    Precisando de uma super dica de vcs.

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Frm3pr10[/url]

    Conforme mostrado na imagem, eu preciso numerar sequencialmente a coluna antes do botão [DELETE], mas não estou conseguindo fazer isso.

    Nessa tela, não são todos os pacientes, q tem o mesmo número de registro, por atendimento.

    Eu vou precisar saber, qual é a última linha, para exibir o botão [SALVAR], e rodar a rotina necessária.

    Se alguém puder ajudar, eu agradeço, e muito.


    Não sei se neste caso, é necessário enviar a base de dados. Se for, eu envio, sem problemas.
    Obrigada.
    Antonio Haele Arnaut
    Antonio Haele Arnaut
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 81
    Registrado : 21/02/2012

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  Antonio Haele Arnaut 7/2/2024, 00:19

    Uso este código no botão "btnAdicionarVolume", ao clicar. Espero que as explicações sejam claras e que ajude:

    O O Formulário principal está baseado em uma consulta, com o NÚMERO DO VOLUME EM ORDEM DECRESCENTE
    O subformulário está baseado na mesma tabela onde a consulta do formulário principal é referenciado; com os volumes em ordem crescente
    txtContaLinhas é uma caixa de texto não associada, com a fórmula "=Contar(*)";
    Na tabela, o valor-padrão para o campo "NVolume" é "1";

    Private Sub btnAdicionarVolume_Click()

    'Trata Erros:
    On Error Resume Next
    DoCmd.CancelEvent

    'Limita a quantidade de volumes aos calculos realizados no formulário principal:
    If Me.txtContaLinhas >= NVolumes Then
    DoCmd.CancelEvent
    MsgBox "Todos os volumes necessários já foram adicionados para empacotamento!"

    Else
    If Me.txtContaLinhas < NVolumes Then

    'Vai para o primeiro registro (Com o o valor "1" no campo "NVolume):
    DoCmd.GoToRecord , , acFirst

    'Seleciona o registro:
    DoCmd.RunCommand acCmdSelectRecord

    'Copia o registro:
    DoCmd.RunCommand acCmdCopy

    'Vai para novo:
    DoCmd.GoToRecord , , acNewRec

    'Colar o novo registro
    DoCmd.RunCommand acCmdPaste

    'À cada novo registro acresce o Nº do pacote em +1 - Soma 1 ao número de volume:
    Me.NVolume = (NVolume + 1)


    Me.Refresh
    DoCmd.Requery
    Me.Recalc

    End If
    End If

    End Sub

    LedahBR gosta desta mensagem

    avatar
    LedahBR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 52
    Registrado : 02/09/2023

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  LedahBR 7/2/2024, 13:15

    Q legal sua rotina, mas não funcionou para mim.

    Fiz adaptação no código, usando a propriedade:

    AO CARREGAR,
    DoCmd.GoToRecord , , acLast
    DoCmd.RunCommand acCmdSelectRecord
    SalvaProdBtn.Visible = True

    Mas, acabou mostrando o botão salvar para todos os registros no subformulário.

    E mostrou a soma total de linhas, no campo me.txtContaLinhas.

    De repente, meu raciocínio para a rotina, está errado.

    Quando salvar os registros dessa tela, vai atualizar 2 tabelas, que é a tabela de movimentação de entrega de produtos, e o Kardex.

    A movimentação de produtos, vai salvando as informações, conforme é digitado, e navegado entre os campos. Esse é o jeito que o Access funciona.

    O botão SALVAR, vai considerar jogar tudo nesta parte para a tabKardex.

    Por isso, pensei no posicionamento dele sendo o último desse subformulário, de PRodutos.

    Não posso colocar o botão salvar no formulário pai, pois além dos produtos, também tem o registro das terapias que o paciente faz no dia que é atendido, que é um outro subformulário, nessa mesma tela, e que não irá ser gravado na tabKardex.

    Será que me expliquei direito? Talvez nem seja necessário contar as linhas, mas apenas saber qual é a última, e apresentar esse botão apenas na última linha.

    Se houver alguma outra idéia de como eu posso disparar esse momento de atualizar o Kardex, eu agradeço.

    Estou com muita dificuldade de resolver isso.

    Obrigada.
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty Re: [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  AbymaelSousa 7/2/2024, 16:18

    Eu peguei do exemplo de alguém do MaximoAcess, mas faz tanto tempo que não lembro de quem foi e não consigo dar os créditos a ele.

    Coloque no seu subFormulário:
    Código:
    Option Compare Database
    Public Function fncNumerar(frm As Form) As Long
    On Error GoTo TrataErro
    With frm.RecordsetClone
      .Bookmark = frm.Bookmark
      fncNumerar = 1 + .AbsolutePosition
    End With
    Exit Function
    TrataErro:
      If Err = 3021 Then fncNumerar = 0
    End Function

    Dentro do seu subform, crie uma caixa de Texto e dentro da caixa de texto e insira o código:
    Código:
    =fncNumerar([Formulário])
    Deixe o Cod do Produto oculto e coloque essa caixa de texto que você criou no lugar, assim ela ordenará corretamente.

    LedahBR gosta desta mensagem

    avatar
    LedahBR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 52
    Registrado : 02/09/2023

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  LedahBR 7/2/2024, 17:51

    Agora sim, deu certo.

    Blzinha.

    Me veio outra pergunta.

    Eu posso usar o tratamento de erro, em qualquer parte do código?

    Por exemplo: Neste mesmo caso, onde estou gravando as informações em 2 tabelas (tabAtendimentos) e (tabKArdex), e eu sei q posso mandar salvar e se o código encontra o erro de chave duplicada, muda para o próximo, até q todos estejam salvos.

    Isto é uma boa prática de programação?

    Pode me dar uma opinião sobre isto?

    Obrigada.
    avatar
    LedahBR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 52
    Registrado : 02/09/2023

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  LedahBR 15/2/2024, 18:11

    Obrigada.
    AbymaelSousa
    AbymaelSousa
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 111
    Registrado : 07/06/2017

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty Re: [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  AbymaelSousa 19/2/2024, 15:09

    Desculpa a demora, LedahBR.

    Eu não vou saber lhe orientar sobre isso, infelizmente sou aprendiz e não tenho propriedade para lhe dizer se é certo ou errado. Vamos esperar para que alguém com um conhecimento maior venha nos orientar, assim eu também tiro essa dúvida, pois você fez uma boa pergunta.

    LedahBR gosta desta mensagem

    avatar
    LedahBR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 52
    Registrado : 02/09/2023

    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  LedahBR 20/2/2024, 11:01

    Obrigada, pelo retorno.

    Q bom q minhas dúvidas ajudam outras pessoas também.

    Vamos aguardar q a resposta virá com certeza.

    Afinal, acho q é um conceito fundamental em sistemas.

    Ótima semana.

    AbymaelSousa gosta desta mensagem


    Conteúdo patrocinado


    [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário. Empty Re: [Resolvido]Contar Linhas SEQUENCIALMENTE, num Sub-Formulário.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 11:29