MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

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, 00: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


    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6203
    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, 07: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, 14: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 30 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, 14: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
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6203
    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, 15: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, 10:23

    Funcionou perfeitamente! Problema resolvido.

    Muito obrigado, Alexandre!
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6203
    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, 11: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, 14: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: Sex 23 Jun 2017, 14:11