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

    Copiar dados de um form para duas tabelas diferentes

    Compartilhe
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 24/03/2017

    Copiar dados de um form para duas tabelas diferentes

    Mensagem  Julimar Alves em 11/3/2018, 03:53

    Boa noite.
    Utilizo o seguinte código abaixo para copiar campos de um formulário simples para uma tabela.
    O processo ocorre no evento ao clicar do botão salvar. Eu gostaria de que no mesmo evento, outros campos deste formulário fosse para uma outra tabela.
    É possível°

    'esta função salva e ao mesmo tempo, envia campos desacoplados
    'para a tabela.
    Private Sub salvarclientes_Click()
    Dim bc As DataBase
    Dim tbl_cadastroAIT As Recordset
    Set bc = CurrentDb()
    Set tbl_cadastroAIT = bc.OpenRecordset("tbl_cadastroAIT")
    Me!codaccessveiculo = Me.doc5
    Me!nome = Me.doc3
    Me!placa = Me.doc4
    Me!dias = Me.cbodias
    Set bc = Nothing
    Set tbl_cadastroAIT = Nothing
    If MsgBox(" Deseja salvar esta multa no sistema?", vbOKCancel + vbDefaultButton1 + vbInformation, "Aviso") = vbOK Then ' mensagem pedindo a confirmação.
    DoCmd.Save ' linha de comando para salvar
    DoCmd.RunCommand acCmdRefresh ' linha de comando para atualizar a tabela
    MsgBox " Infração salva com sucesso !", vbOKOnly, "Aviso" ' mensagem que foi salvo.
    DoCmd.GoToRecord , , acNewRec ' vai para um novo registro.
    Else ' caso não queria salvar....
    MsgBox " Infração não cadastrado ", vbInformation, "Aviso" ' registro ou cliente não salvo
    End If
    End Sub

    cpampas
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 71
    Registrado : 27/10/2013

    Re: Copiar dados de um form para duas tabelas diferentes

    Mensagem  cpampas em 11/3/2018, 06:41

    Ola,

    Poderias criar outro recordset

    Dim rst2 As Recordset
    Set rst2 = bc.OpenRecordset("tbl_minhaOutraTabela ")
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 24/03/2017

    Re: Copiar dados de um form para duas tabelas diferentes

    Mensagem  Julimar Alves em 11/3/2018, 13:46

    Eu repetiria o mesmo código que estou usando? E o mesmo evento? Como encaixar outro código no atual?
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 24/03/2017

    Re: Copiar dados de um form para duas tabelas diferentes

    Mensagem  Julimar Alves em 11/3/2018, 13:53

    Tabela tbl_cadastroAIT
    (o destino dos dados acima)

    O novo código deve copiar estes campos campos para a tabela tbl_protocolos
    Me!codaccessveiculo = Me.doc5
    Me!nome = Me.doc3
    Me!placa = Me.doc4
    Me!dias = Me.cbodias
    Não sei como redundar a mesma função e no mesmo evento

    cpampas
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 71
    Registrado : 27/10/2013

    Re: Copiar dados de um form para duas tabelas diferentes

    Mensagem  cpampas em 11/3/2018, 19:14

    Ola,

    para adicionar   na tabela tbl_protocolos seria  no mesmo evento, e antes da linha Set bc = Nothing


    Código:
    Dim rst2 As Recordset
    Set rst2 = bc.OpenRecordset("tbl_protocolos ",dbopendynaset)

    with rst2
       .addNew
             !codaccessveiculo = Me.doc5
             !nome = Me.doc3
             !placa = Me.doc4
             !dias = Me.cbodias
        .update
    end with
    Set rst2 = Nothing
    isto quer dizer que na tua tabela tbl_protocolos tens os campos : codaccessveiculo , nome, placa, dias
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 24/03/2017

    Re: Copiar dados de um form para duas tabelas diferentes

    Mensagem  Julimar Alves em 11/3/2018, 19:26

    Uma dúvida.
    Eu vou mesclar este código com o atual? Em qual ponto do código atual eu devo inseri-lo com segurança.
    A linha "addNew" irá criar outro registro? No O que eu vai ocorrer se já há este comando no código atual?
    DoCmd.GoToRecord , , acNewRec ' vai para um novo registro.

    cpampas
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 71
    Registrado : 27/10/2013

    Re: Copiar dados de um form para duas tabelas diferentes

    Mensagem  cpampas em 11/3/2018, 21:49

    Julimar,

    Eu gostaria de que no mesmo evento, outros campos deste formulário fosse para uma outra tabela.

    pelo que eu percebi vc quer adicionar um novo registo em outra tabela que nao aquela que é a origem dos dados do seu formulario. Assim o DoCmd.GoToRecord , , acNewRec  nao vai adicionar registo na tbl_protocolos, mas a linha addNew sim criara novo registo nesta tabela

    pode colocar o codigo depois de adicionar os dados no seu codigo actual, e  antes da linha Set bc = Nothing
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 24/03/2017

    Re: Copiar dados de um form para duas tabelas diferentes

    Mensagem  Julimar Alves em 12/3/2018, 11:29

    Resolvido com sucesso.
    Meus sinceros agradecimentos.
    Eu amo este fórum

      Data/hora atual: 24/9/2018, 20:58