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]Copiar valor de campo do registro atual para outro campo do registro anterior.

    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  rgondim 6/3/2012, 00:43

    Dentro do formulário Eventos, tenho o subform. Índices. Nele há os campos Validade_Inicial e Validade_Final.

    No subform, ao criar uma nova entrada, digito a Validade_Inicial. A Validade_Final apenas poderá ser digitada após o próximo registro for criado. Assim, a Val_Final sempre será um dia a menos que a Val_Inicial do registro seguinte.

    Quero automatizar o processo. Sempre que uma nova entrada for criada e a Validade_Inicial inserida, a Validade_Final do registro imediatamente anterior seja informada, através de uma fórmula mais ou menos assim:

    Val_Final = Me![Val_Inicial] - 1

    O nó o que a data vai para o registro anterior. Como fazer?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Re: [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  criquio 6/3/2012, 00:47

    Tente usar o evento "Após atualizar" do campo da data atual. Para isso, use uma variável ou um campo no formulário principal para colocar a data. Se for no acampo, pode ser algo assim no evento:

    Forms!NomeDoFormPrincipal!NomeDoCampo = DateAdd("d", -1, Me.CampoData) ' Tira um dia da data atual do campo
    DoCmd.GoToRecord, , acPrevious ' vai para o registro anterior
    Me.NomeDoCampoDataAnterior = Forms!NomeDoFormPrincipal!NomeDoCampo


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Re: [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  rgondim 6/3/2012, 01:27

    Da sua maneira funciona, mas creio que o caminho que código percorre pode ser longo, indo de um registro a outro e em seguida retornando para continuar a digitação.

    Estou testando essa alternativa, usando parte de sua dica:

    DMax("DtFinal", "tabIndices", "Alinea=" & Me!Alinea - 1) = DateAdd("d", -1, Me.DtInicial)

    Onde Alinea é o número identificador de cada regitro do Subform(origem de dados tabIndices). Então, menos -1 levaria ao imediatamente anterior.

    Está retornando "erro em tempo de execução 424: o objeto é obrigatório".

    Minha está correta - Dmax("Dtfinal") - para localizar o campo DtFinal no registro especificado?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Re: [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  criquio 6/3/2012, 11:54

    Instruções como DMax, DMin, DCount, DLookup e etc são usadas pra retorno de valores, não para inserir valores. Acredito que a instrução que passei não afete visivelmente a velocidade, pois ela se moverá entre dois registros apenas. Eu acredito ser uma boa solução, uma vez que os registros estão juntos e você vê a mudança em tempo real.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Re: [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  rgondim 6/3/2012, 12:19

    Há como fazer isso sem "pular" de registro?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Re: [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  criquio 6/3/2012, 16:40

    Você pode tentar no evento "Após atualizar" com o campo da data mais recente, navegar para o registro anterior via Recordset:

    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("NomeDaTabela")

    rs.FindFirst "Código<" & Me.Código
    rs.Edit

    rs!CampoDataAntiga = DateAdd("d", -1, Me.CampoDataRecente
    Me.Requery ' Ou Me.Recalc Ou Me.Refresh

    rs.Update
    rs.Close
    Set rs = Nothing


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Re: [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  rgondim 6/3/2012, 17:09

    Meu caro,

    fui na consulta origem do subformulário e criei um campo assim:
    DtFinal: DPesquisa("[DtInicial]-1";"tabIndices";"[Alinea]=" & [Alinea]+1)

    Onde...
    DtFinal = DtInicial - 1 dia
    Alinea = Alinea + 1 (busca no registro seguinte)

    Funcionou!

    Ainda vou testar sua dica porque ela vai me servir para solução de outro problema.

    Muito bom contar com sua ajuda.

    Obrigado, mesmo!
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Re: [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  criquio 6/3/2012, 17:16

    Bom que funcionou. É como dizem, existem diversos caminhos que levam à Roma. Cada um escolher qual paisagem deseja vislumbrar (tá, eu admito, essa eu inventei agora, hehehe)

    Vou colocar o Resolvido.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior. Empty Re: [Resolvido]Copiar valor de campo do registro atual para outro campo do registro anterior.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 11:32