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

    Alterar registro em Subform

    Compartilhe

    leinat
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 14/06/2017

    Alterar registro em Subform

    Mensagem  leinat em Sex 21 Jul 2017, 19:51

    Olá amigos. Estou com um problema em fazer CRUD em um formulário Access via VBA.

    Possuo este Formulário que contém um subform em formato de listview. Ao clicar duas vezes em uma célula específica deste listview abre um filedialog onde seleciono um arquivo, na célula selecionada seria salvo o caminho do arquivo.

    Abaixo está o trecho do meu código, o problema está que o caminho é salvo em um novo registro e não naquele que eu dei duplo clique. Sei que o meu problema está no comando tb.AddNew porém não consigo imaginar como resolver.

    '## Salva o caminho do arquivo na tabela tbl_Certificado_Origem##

    Dim db As Database
    Dim tb As Recordset
    Set db = CurrentDb
    Set tb = db.OpenRecordset("nomeTabela")

    tb.AddNew      '<< >>>>>>>>>>

    tb!CaminhoArquivo = Application.CurrentProject.Path & "\teste\" & Dir(Trim(.SelectedItems.Item(1)))

    tb.Update
    tb.Close
    Me.Refresh
    Set db = Nothing

    ....

    Phillip_Junior
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 09/12/2016

    Re: Alterar registro em Subform

    Mensagem  Phillip_Junior em Sex 21 Jul 2017, 23:59

    Ola

    Realmente o fato de usar .AddNew significa adicionar um novo registro. Se o objetivo é alterar vc terá q usar .edit

    O bom seria postar um exemplo para podermos lhe ajudar mais ok?

    abraços


    .................................................................................
    Phillip_Junior
    Analista de Sistemas
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3325
    Registrado : 14/08/2013

    Re: Alterar registro em Subform

    Mensagem  FabioPaes em Dom 23 Jul 2017, 16:10

    Como o amigo respondeu a cima... O .addNew adiciona novo registro no Recordset.

    Mude de: tb.AddNew para tb.edit

    Outra coisa que tem que alterar é:

    Set tb = db.OpenRecordset("nomeTabela") <== Aqui vc abre todos os registros da tabela... Aqui terá que mudar para abrir apenas o registro pretendido e edita-lo.

    Faça algo parecido:

    Set tb = db.OpenRecordset("SELECT * FROM nomeTabela WHERE ID = " & Me.NmeListBox.Column(1) & "")

    Veja que ao invés de especifica o nome da tabela, eu coloquei la uma Seleção de dados específicos dessa tabela.
    Utilizei como Numeração Unica o Campo ID, que deve ser substituído por um numero Único da sua tabela, algo que nao se repita. E mandei comparar com o valor selecionado na ListBox.coluna1. Adapte que dará certo!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

      Data/hora atual: Ter 19 Set 2017, 12:48