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]Recuperar registro do último ID a partir de um botão em formulário diferente

    avatar
    Valdomiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/07/2012

    [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente  Empty [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente

    Mensagem  Valdomiro 28/1/2015, 17:42

    Caros amigos, como vão!?


    Peço, mais uma vez, ajuda a vocês.

    No meu projeto de biblioteca pessoal há um problema que não sei como contornar.

    Para o formulário de cadastro "livros" usei o comando "DoCmd.GoToRecord , , acNewRec" ao abrir. Assim, ele sempre abre pronto para se digitar um novo cadastro.

    Nesse formulário há botões para abrir formulários de inclusão de coisas específicas como "só Autor", "só Editora" e "só catalogação". Criei esses botões para o caso de ao começar a cadastrar um livro e perceber que não tem, por exemplo, determinado Autor na lista de autores, eu possa fazer o cadastro do Autor no formulário específico e voltar para completar o cadastro no formulário "livros".

    [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente  19p8ba

    Ocorrências de dificuldades na sequência disso:

    1 - Quando eu fecho o formulário "Incluir só Autor", preciso dar um F5, ou seja, um refresh, para que o nome incluído apareça na lista de autores do formulário "livros". Mas, quando teclo o F5 o formulário é recarregado com o primeiro registro e não com o que eu estava trabalhando. Com isso eu tenho que pesquisar o cadastro que estava fazendo para conclui-lo

    2 - Para não precisar teclar F5 usei um artifício: Ao clicar no botão para abrir "Incluir só Autor" inseri uma macro para fechar o formulário "livros" e quando sair do formulário de cadastro do autor ele reabre o formulário "livros". Assim consegui dispensei o F5, mas como o formulário "livros" está "programado" com "DoCmd.GoToRecord , , acNewRec", ele abre pronto para um novo registro. O que me faz ter que pesquisar o cadastro que está incompleto e completá-lo.

    3 - Cheguei substituir "DoCmd.GoToRecord , , acNewRec" por "DoCmd.GoToRecord , , acLast" (que pesquisei aqui no fórum), mas ele me dá o último da ordem alfabética que configurei e não o último ID gerado, que para efeitos de completar dados é o que me interessará. Além do mais ao usar "DoCmd.GoToRecord , , acLast" no lugar de  "DoCmd.GoToRecord , , acNewRec" perco o benefício de abrir o formulário de inclusão sempre pronto para uma nova inclusão, e, por outro lado, não atinjo o meu propósito que é de ao voltar do formulário "Incluir só Autor" abrir o registro do último ID lançado.


    O meu propósito:

    1 - Manter o formulário "livros" abrindo sempre em um "Novo Registro", que é o que ocorre, atualmente, quando vou iniciar um cadastro de livros diretamente nele.

    2 - Excetuar esse procedimento, apenas quando se tratar de uma "volta" dos formulários "só Autor", "só Editora" e "só catalogação", para, em vez de abrir em um novo registro, ele recuperar o registro do último ID gerado, para que seja completado o cadastramento.


    A solução que estava pensado:

    1 - Criar um botão em cada um dos três formulários de inclusões isoladas: "só Autor", "só Editora" e "só catalogação", que contenha uma MACRO ou VBA que serviria para (quando eu fizer a inclusão específica neles) fechá-los individualmente e reabrir o formulário "livros" no registro referente ao último ID, que será, via de regra, o registro que eu estava cadastrando antes de ir para um dos outros três formulários citados.

    [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente  25gq9w7


    O código para o botão executar a funcionalidade pretendida é a parte que não estou sabendo fazer!


    ANEXEI o banco para melhor estudo do caso!


    Gratos,
    Valdomiro.


    Última edição por Valdomiro em 30/1/2015, 20:53, editado 1 vez(es)
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 06/06/2013

    [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente  Empty Re: [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente

    Mensagem  hiperjohn 30/1/2015, 16:47

    Seja sempre bem-vindo, Valdomiro.


    Segue o projeto com algumas modificações.

    No formulário só autores, existe um campo invisivel chamado txtUltimo que recebe o valor do último Id_livros. Quando vc clicar no botão "voltar para último Id", ele abrirá no cadastro que vc estava digitando. Se vc nao estava incluindo, voltará para o último cadastro registrado.
    (Obs: no modo design ou layout vc conseguirá ver os campos invisíveis)

    Siga a mesma lógica para os formulários Só editora e Só catalogação.

    O botão Gerenciar do formulário Frente abrirá o form Livros num novo cadastro.

    Qualquer dúvida, estamos à disposição.

    avatar
    Valdomiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/07/2012

    [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente  Empty Re: [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente

    Mensagem  Valdomiro 30/1/2015, 20:52

    HiperJohn,

    Muito grato pela força, amigo!

    Vou implementar nos demais formulários de cadastros isolados.

    Enquanto aguardava a ajuda dos amigos aqui do fórum andei pesquisando, buscando  conhecimento, em como recuperar o último id  e solucionar a questão, e etc.

    Nessa busca, andava pensando em maneiras de atingir o propósito. Pensei em uma outra solução possível, mas não tenho, ainda, conhecimento para implementar.

    Seria no código "ao abrir" o formulário livros.

    Private Sub Form_Open(Cancel As Integer)

    PARA CAMPO título COM CONTEÚDO, VERIFICAR SE Autor OU editora OU livro OU catalogacao ESTÁ SEM CONTEÚDO.
    SE (Autor, editora, catalogacao) SEM CONTEÚDO, ENTÃO VÁ PARA O REGISTRO DO ÚLTIMO ID.
    SE COM CONTEÚDO ENTÃO DoCmd.GoToRecord , , acNewRec

    End Sub

    Com essa rotina eu teria também o desejado, pois geralmente eu digito o título do livro e, às vezes, ao buscar o autor ou a editora ou a catalogacao descubro que não está na lista. Nesse momento abriria um dos formulários de cadastro individual, por exemplo, "Só autor", e, depois de fechar o formulário "Só autor" o formulário "livro" abriria fazendo essa checagem e iria para o registro desejado: ou do último id gerado ou de um novo registro. Isso eliminaria o botão "Voltar para livro no último id".

    Mas, considero a questão resolvida!

    Fica ai o caso do Form_Open para estudo. E se alguém escrever o código eu, agradecidamente, o usarei.

    Grande abraço!
    Valdomiro.

    Conteúdo patrocinado


    [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente  Empty Re: [RESOLVIDO]Recuperar registro do último ID a partir de um botão em formulário diferente

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 01:44