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
Assis
Josealdo
6 participantes

    [Resolvido]Função Dlast - não volta registro esperado

    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 1/2/2021, 15:36

    Olá Estou usando uma função Dlast em um formulario de cadastro, para que alguns campos no proximo registro sejam preechido com os valores do registro anterior.  

    A função esta aparentemente escrita corretamente, está funcionando entretanto não é a informação do ultimo registro que está retornando.

    Aguem porderia comentar o que pode está errado porque não está retornando o ultimo registro da tabela BaseDados? Por favor.

    meu cogido está digitado assim:

    DoCmd.GoToRecord , , acNext
           Me.LOTESGTM = DLast("LOTESGTM", "BaseDados")
           Me.DATA = DLast("DATA", "BaseDados")
           Me.TURNO = DLast("TURNO", "BaseDados")
           Me.AREA = DLast("AREA", "BaseDados")
    End Sub
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Assis 1/2/2021, 15:46

    Teste assim:

    DoCmd.GoToRecord , , acNewRec

    Me.LOTESGTM = DLast("LOTESGTM", "BaseDados")
    Me.DATA = DLast("DATA", "BaseDados")
    Me.TURNO = DLast("TURNO", "BaseDados")
    Me.AREA = DLast("AREA", "BaseDados")


    Ou Poste a só a tabela e o formulário de registar


    .................................................................................
    *** Só sei que nada sei ***

    Josealdo gosta desta mensagem

    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 1/2/2021, 20:03

    @Assis, eu fiz a mudança mais não funcinou.

    Estou verificando o que pode está acontencendo pois a sintaxe do comando é simples...   O Comando tá funcionando mais não é as informações do  ultimo registro que está retornando.

    Mais agradeço mesmo assim pelo suporte. Grato
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Assis 1/2/2021, 20:05

    Poste a só a tabela e o formulário de registar


    .................................................................................
    *** Só sei que nada sei ***

    Josealdo gosta desta mensagem

    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3063
    Registrado : 22/11/2016

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  DamascenoJr. 2/2/2021, 02:24

    Muitos esquecem, mas a ajuda do VBA é rica em informações.

    support.microsoft.com/pt-br/office/fun%C3%A7%C3%B5es-dfirst-dlast-adb06169-bf49-4f80-bf04-1e4b5a48a8a7


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Josealdo gosta desta mensagem

    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 2/2/2021, 12:23

    @DamascenoJr. em primeiro, obrigado pelo suporte. Vou verificar a documentação mais de inicio o que entendi é que está retornando valor aleatório.
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 896
    Registrado : 11/11/2009

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  scandinavo 2/2/2021, 13:20

    Voce esta indo 4 vezes buscar esta informação na tabela.

    imagino que todas estas informações estarão na ultima linha da tabela.
    eu criaria um recordset para buscar o ultimo lançamento (1 ida a tabela somente)
    e depois preencheria as informações

    mas como disse o Assis poste ai a sua base de dados.

    Josealdo gosta desta mensagem

    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 2/2/2021, 20:38

    Estou tentando resolver.. Não postei o BD pq ele tá com informações. Tentei separar o formulario e tabela para o envio mais ai não funciona corretamente com a reprodução da falha.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3063
    Registrado : 22/11/2016

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  DamascenoJr. 2/2/2021, 21:48

    DLast e DFirts (DUltimo e DPrimeiro), para funcionarem corretamente é necessário verificar os índices da tabela.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Josealdo gosta desta mensagem

    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 2/2/2021, 22:15

    @DamascenoJr., obrigado pelo suporte.. Ainda estou tentando o comando que experimente e que funciona é: DoCmd.GoToRecord , , acLast só que ele volta todos os ultimos campos do ultimo registro, e o que desejo é que alguns campos fiquem "vazio" pois receberá uma outra informação diferente do ultimo registro.

    Mais mesmo assim gratidão continuo estudando...
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 759
    Registrado : 11/12/2017

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Ismael Silva 3/2/2021, 00:25

    Josealdo,

    Dá uma olhada neste pequeno exemplo, onde eu usei a mesma função, Dlast, pra me trazer somente alguns dados do último registro.

    Funciona perfeitamente aqui, clique em novo que vai trazer apenas alguns campo preenchidos referente ao último registro na tabela, e você pode completar os demais campos com outras informações, que é o que deseja.

    Vê se ajuda.
    Anexos
    [Resolvido]Função Dlast - não volta registro esperado AttachmentNovoEx.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 10 vez(es)

    Josealdo gosta desta mensagem

    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 3/2/2021, 12:26

    @Ismael Silva/ @DamascenoJr./@scandinavo/@Assis,  em primeiro muito grato ao suporte de vocês.

    1 - Ismael o meu código está igual ao descrito por você, está funcionando entretanto não está retornando ao ultimo registro e sim a um registro que não é o ultimo.


    2 - Depois de várias tentativas com o auxilio de vocês e com alguns estudos aqui da minha parte, comecei a fazer "Engenharia Reversa".

    3 - O banco de dados está dividido com as tabelas viculadas,  então hoje tive a ideia de desvincular a tabela principal  "BaseDados" e coloquei ela no FrontEnd.   Então sem mudar nada no código ele funcionou perfeitamente.

    Agora só não estou sabendo como solucionar o problema.  Vocês poderima sugerir soluções? Por favor.

    Nota: Por isso que eu não estava conseguindo enviar o BD com a reprodução da falha, pois ao preparar para o envio ele não estava com FrontEnd e BackEnd. A falha não se reproduzia.

    Agradeço a colaboração.
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 3/2/2021, 15:18

    @Ismael Silva/ @DamascenoJr./@scandinavo/@Assis, desconsiderar a mensagem acima.  Após alguns testes ele continua a falhar então não devido a tabela como eu citei anteriormente.     Consegui separ o BD e a falha tambem reproduziu.

    Segue um simulado do formulario e tabela em anexo.

    Como seria o funcionamento:  Ao entrar com os dados clicar em:  Atualizar.     Quando clicar no botão: Copiar é ação deste botão que deveria retorna no desejável,  copiar os dados do ultimo registro.

    Agradeço antecipamente a colaboração.
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 4/2/2021, 13:25

    @Ismael Silva
    @DamascenoJr
    @scandinavo
    @Assis, colegas tentei uma outra coisa que não resolveu mais pode ter gerado alguma pista para a solução.

    Eu fiz a copia da tabela somente estrutura e depois somente os dados   e comecei os testes.

    Ao abrir o formulario pela primeira vez, funcionou perfeitamente, fiz uns 5 testes e resultava com as informações do ultimo registros.

    Então fechei o formulario e retornei nele novamente para novos testes, então ai começou a falhar não resultando no ultimo registro.

    Fico no aguardo da vossa colaboração e agradeço antecipadamente..
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 5/2/2021, 12:00

    @Ismael Silva
    @DamascenoJr
    @scandinavo
    @Assis, Eu consegui resolver cheers não sei se foi a melhor forma, pois o Dlast deveria funcionar normalmente e não consegui etender porque não está.

    Fiz algumas intruções em Recordset como mencionado pelo colega @scandinavo, estudei um pouco o Recordset pois nunca havia utilizado.

    Segue abaixo o que fiz para funcionar, coloquei Msbox nas linhas para eu saber durante a execução as etapas realizadas.


    Public Sub ComandoREPLICAR_Click()

    Dim consulta As String
    MsgBox ("Passei etapa 1")
    Dim virtual As Recordset
    MsgBox ("Passei etapa 2")
    Dim USUARIO As String
    MsgBox ("Passei etapa 3")

    USUARIO = login.USUARIO
    MsgBox ("Passei etapa 4")

    consulta = "SELECT * FROM BaseDados Where USUARIO = 'Usuario'"
    MsgBox ("Passei etapa 5")


    Set virtual = CurrentDb.OpenRecordset(consulta)
    MsgBox ("Passei etapa 6")

    MsgBox ("Vou recuperar o ultimo registro do Usuario")


    daqui em diante coloquei a lista de campos com o "Dlast"

    Me.CAMPO = DLast("CAMPO", "TABELA") ......

    Agradeço a todos pela colaboração lol! lol!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Alexandre Neves 5/2/2021, 13:39

    Boa tarde
    Faltou o Resolvido


    .................................................................................
    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

    Josealdo gosta desta mensagem

    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 183
    Registrado : 14/12/2012

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Josealdo 5/2/2021, 15:07

    Alexandre, não havia colocado pois estava efetuando outros testes para tentar entender o que ocasiona a falha.


    @Ismael Silva
    @DamascenoJr
    @scandinavo
    @Assis, Apenas como informação adicional, tentei entender o que está ocasionando a falha.

    A tabela principal de onde vem os dados está indexada pelo ID (Campo numeração Automatica) , entrentanto na sequencia falta alguns números de registros que foram eleminados as linhas.

    Fiquei na duvida se isso poderia ocasionar a falha.
    Pequei e copiei a tabela estrutural (vazia) e fiz a copia manualmente dos dados para que na tabela destino o ID ficasse na ordem sem saltar ID.

    Comecei os testes utilizando apenas as linhas de comando "Dlast".
    A falha se repetiu da mesma forma ou seja: No primeiro teste Dlast funcionou normalmente. Após logoff e logon novamente a o Dlast não captura o ultimo registro.

    Sendo assim, continuo sem saber o porque o Dlast não funciona corretamente neste caso.

    Grato a todos.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função Dlast - não volta registro esperado Empty Re: [Resolvido]Função Dlast - não volta registro esperado

    Mensagem  Alexandre Neves 5/2/2021, 15:19

    É estranho mesmo na tabela ligada. Tente trabalhar com consulta com critério igual à data pretendida


    .................................................................................
    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

    Josealdo gosta desta mensagem


      Data/hora atual: 21/9/2021, 02:42