MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Atualizar valor da combobox com base no último registro inserido na tabela

    Compartilhe

    izolan
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 06/05/2014

    [Resolvido]Atualizar valor da combobox com base no último registro inserido na tabela

    Mensagem  izolan em Ter 06 Maio 2014, 04:38

    Olá, pessoal!
    Estou desenvolvendo um sistema em Access para uma pequena empresa de comércio com necessidades específicas, na qual eu trabalho.

    Sou novato em Access e VBA e gostaria de receber um direcionamento lógico para o que eu estou tentando fazer, mas não consigo encontrar uma solução:

    Tenho um formulário onde são cadastradas as vendas, chamado formVendaNova.
    Neste formulário há o campo Cliente, que é uma combobox chamada comboCliente, com as escolhas possíveis puxadas de uma consulta, com colunas ID e nome do cliente (ID oculta).
    Ao lado do comboCliente há um botão Novo Cliente (cmdNovoCliente), por praticidade mesmo, para não precisar ir em outra tela cadastrar o cliente antes de cadastrar a venda.
    O botão leva para o formClienteNovo, onde se cadastram os clientes.

    O que eu gostaria de fazer é cadastrar um novo cliente a partir do botão Novo Cliente no formVendaNova, e ao fechar o formClienteNovo, o comboCliente automaticamente atualizar o valor para o último cliente cadastrado.

    É possível fazer isso?

    Agradeço desde já.

    Izolan



    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Atualizar valor da combobox com base no último registro inserido na tabela

    Mensagem  Alexandre Neves em Ter 06 Maio 2014, 11:39

    Bom dia, e bem-vindo ao fórum
    Coloque no acontecimento AoEntrar na CboNrCliente

    dim rst as dao.recordset
    Set rst = Me.Recordset.Clone
    rst.movelast
    Me.Bookmark = rst.Bookmark
    set rst=nothing


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

    izolan
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 06/05/2014

    Re: [Resolvido]Atualizar valor da combobox com base no último registro inserido na tabela

    Mensagem  izolan em Ter 06 Maio 2014, 18:00

    Olá, Alexandre Neves!
    Obrigado pelas boas vindas e pela prontidão em responder.

    Fiz o sugerido e a princípio não funcionou. Imagino que seja porque o comboCliente puxa os dados por meio de uma consulta, e não direto da tabela.

    Eu não gostaria que o formulário carregasse automaticamente o último cliente.

    Eu talvez não tenha explicado direito o que eu gostaria de fazer.

    O formClienteNovo poderá ser acessado por dois locais diferentes:
    1. a partir da tela de consulta de clientes (ainda não criada); e
    2. a partir da tela para cadastrar uma nova venda (clicando no botão novo cliente)

    Quando o método 2 fosse usado, o cliente seria cadastrado e, ao voltar pra tela de venda, o campo cliente seria automaticamente preenchido.

    Anexo o bd para estudo.

    Agradeço novamente!
    Anexos
    Sistema.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (90 Kb) Baixado 23 vez(es)

    izolan
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 06/05/2014

    Re: [Resolvido]Atualizar valor da combobox com base no último registro inserido na tabela

    Mensagem  izolan em Ter 06 Maio 2014, 18:42

    Eu usei um código no botão salvar do formClienteNovo que atualizou o combo no formVendaNova.
    Porém os campos que devem ser preenchidos automaticamente não foram preenchidos.

    Código:
    Private Sub cmdSalvarCliente_Click()
    On Error GoTo Err_cmdSalvarCliente_Click

        DoCmd.RunCommand acCmdSaveRecord

    If CurrentProject.AllForms("FormVendaNova").IsLoaded Then
        Forms![FormVendaNova]!comboCliente.Requery
        Forms![FormVendaNova]!comboCliente.Value = Me!CampoIDCliente
        DoCmd.Close
    Else
        DoCmd.GoToRecord , , acNewRec
    End If
        

    Exit_cmdSalvarCliente_Click:
        Exit Sub

    Err_cmdSalvarCliente_Click:
        MsgBox Err.Description
        Resume Exit_cmdSalvarCliente_Click
        
    End Sub

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Atualizar valor da combobox com base no último registro inserido na tabela

    Mensagem  Alexandre Neves em Ter 06 Maio 2014, 19:22

    No formulário de venda
    passe o procedimento
    Private Sub comboCliente_AfterUpdate()
    para
    Public Sub comboCliente_AfterUpdate()

    no formulário de registo de cliente adapte para este código
    Private Sub Form_Close()
    If CurrentProject.AllForms("FormVendaNova").IsLoaded Then
    Forms![FormVendaNova]!comboCliente = Me.CampoIDCliente
    Forms![FormVendaNova].comboCliente_AfterUpdate
    End If
    End Sub


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

    izolan
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 06/05/2014

    Re: [Resolvido]Atualizar valor da combobox com base no último registro inserido na tabela

    Mensagem  izolan em Qua 07 Maio 2014, 14:23

    Funcionou perfeitamente! Problema resolvido.

    Muito obrigado, Alexandre!

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Atualizar valor da combobox com base no último registro inserido na tabela

    Mensagem  Alexandre Neves em Qua 07 Maio 2014, 15:23

    [Você precisa estar registrado e conectado para ver esta imagem.]


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

    BITSILVA
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 30/08/2010

    Inserir numa Combox valor de um Textbox

    Mensagem  BITSILVA em Qui 05 Maio 2016, 18:56

    Amigos e amigas do Fórum!

    Eu consigo pegar um valor existente "Form!Textbox1" e inserir normalmente em outro formulário "Form2!Textbox2"

    Vejamos o código:

    Forms![Form2]![txtUsuario] = Forms![Form1]![txtUsuario]

    Como eu faço para inserir o valor existente do Form para o controle de uma Combox de outro formulário? Veja o que tentei.

    Forms![Form2]![cbUsuario.Column(2)] = Forms![Form1]![txtUsuario]

    Está dando errado! Como proceder?

      Data/hora atual: Qui 08 Dez 2016, 00:06