MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]3ª Tentativa de acordo com o fórum, mas sem solução para duplicar registro...

    avatar
    Roberto Duailibe
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 20/03/2018

    [Resolvido]3ª Tentativa de acordo com o fórum, mas sem solução para duplicar registro... Empty [Resolvido]3ª Tentativa de acordo com o fórum, mas sem solução para duplicar registro...

    Mensagem  Roberto Duailibe em 24/7/2019, 21:26

    BOA TARDE GENTE

    Após a ajuda do Bruno Luiz Maia, cheguei a esse código que funcionou perfeitamente para meu banco - Login: Roberto Duailibe Senha: Rjsdm2018#

    Private Sub Salvar_Memo_Click()
    Dim dbOrc As Database, rs1 As DAO.Recordset
    Dim x As Integer

    If MsgBox("Deseja DUPLICAR o Memo Atual??", vbYesNo + vbQuestion, "Duplicação de Memorando") = vbYes Then
       Set dbOrc = CurrentDb
       Set rs1 = dbOrc.OpenRecordset("Cons_Memo_Interno", dbOpenDynaset)
           With rs1
               x = DMax("Cod_Memo_Int", "Interno_Tab_Memo")    'O memorando é colocado como o maior valor
               .AddNew                                         'acrescenta novo registro
               .Fields("Cod_Memo_Int") = x + 1                 'memorando acrescido de 1 após o último
               ![Cod_De_Interno] = Me.Cod_De_Interno
               ![De_Interno] = Me.De_Interno
               ![Cod_Para_Iterno] = Me.Cod_Para_Iterno
               ![Para_Int] = Me.Para_Int
               ![texto] = Me.texto
               ![Data] = Date                                  'O campo data do registro atual permanece igual, mas o novo registro recebe a data do sistema
               ![Cod_Com_Copia] = Me.Cod_Com_Copia
               ![Cod_Com_Copia_1] = Me.Cod_Com_Copia_1
               ![Cod_Com_Copia_2] = Me.Cod_Com_Copia_2
               ![Tratamento] = Me.Tratamento
               ![Matrícula] = Me.Matrícula
               ![login] = Me.login
               ![Setor] = Me.Setor
               .Update                                         'atualiza o novo registro com os valores acima
           End With
       Set dbOrc = Nothing
       MsgBox "Duplicação do Memo realizada com sucesso. ", vbInformation, "Duplicação"
       DoCmd.Close
    Else
       DoCmd.CancelEvent
       DoCmd.Close
    End If
    End Sub


    Última edição por Roberto Duailibe em 4/8/2019, 17:40, editado 1 vez(es)
    avatar
    brunoluizmaia
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 133
    Registrado : 24/04/2019

    [Resolvido]3ª Tentativa de acordo com o fórum, mas sem solução para duplicar registro... Empty Re: [Resolvido]3ª Tentativa de acordo com o fórum, mas sem solução para duplicar registro...

    Mensagem  brunoluizmaia em 1/8/2019, 11:02

    Olá,

    Eu utilizo o código abaixo para duplicar, abro o registro que quero duplicar e clico no botão duplicar que dispara esse código.

    Private Sub btn_duplicate_Click()


    Dim dbOrc As Database, rs1, rs2, rs3 As DAO.Recordset

    If MsgBox("Do you want to double the budget??", vbYesNo + vbQuestion, "Duplicate") = vbYes Then

    Set dbOrc = CurrentDb

    Set rs1 = dbOrc.OpenRecordset("DB_orcamento", dbOpenTable)

    With rs1

    .AddNew
    ![Num_Orc] = DMax("Num_orc", "DB_orcamento") + 1 'Me.idOrcamento + 1
    ![Num_cliente] = Me.Num_cliente
    ![nm_cliente] = Me.nm_cliente
    ![Nm_ramo] = Me.Nm_ramo
    ![Nm_comercial] = Me.Nm_comercial
    ![Nm_contacto] = Me.Nm_contacto
    ![Nm_email] = Me.Nm_email
    ![Num_Contacto_1] = Me.Num_Contacto_1
    ![Num_Contacto_2] = Me.Num_Contacto_2
    ![Nm_filial] = Me.Nm_filial
    ![dt_orc] = Date
    ![status] = "Pending"
    .Update

    End With


    Set rs2 = dbOrc.OpenRecordset("SELECT * FROM DB_Sub_orcamento WHERE Num_orcam=" & Me.Num_Orc)
    Set rs3 = dbOrc.OpenRecordset("DB_Sub_orcamento", dbOpenTable)


    While (Not rs2.EOF)
    With rs3
    .AddNew
    ![Num_orcam] = DMax("Num_orc", "DB_orcamento")
    ![Seq_orcamento] = rs2![Seq_orcamento]
    ![num_molde] = rs2![num_molde]
    ![tp_mat_plas1] = rs2![tp_mat_plas1]
    ![Num_brl_plast1] = rs2![Num_brl_plast1]
    ![qtd_prof1] = rs2![qtd_prof1]
    ![qtd_rem_mat1] = rs2![qtd_rem_mat1]
    ![Num_ang_saida1] = rs2![Num_ang_saida1]
    ![tp_mat_plas2] = rs2![tp_mat_plas2]
    ![Num_brl_plast2] = rs2![Num_brl_plast2]
    ![qtd_prof2] = rs2![qtd_prof2]
    ![qtd_rem_mat2] = rs2![qtd_rem_mat2]
    ![Num_ang_saida2] = rs2![Num_ang_saida2]
    ![tp_mat_plas3] = rs2![tp_mat_plas3]
    ![Num_brl_plast3] = rs2![Num_brl_plast3]
    ![qtd_prof3] = rs2![qtd_prof3]
    ![qtd_rem_mat3] = rs2![qtd_rem_mat3]
    ![Num_ang_saida3] = rs2![Num_ang_saida3]
    ![Setor] = rs2![Setor]
    ![vlr_ajuste] = rs2![vlr_ajuste]
    ![vlr_orc_molde] = rs2![vlr_orc_molde]
    ![dias_orc] = rs2![dias_orc]
    .Update
    rs2.MoveNext
    End With
    Wend

    rs1.Close
    Set rs1 = Nothing

    rs2.Close
    Set rs2 = Nothing

    rs3.Close
    Set rs3 = Nothing

    Set dbOrc = Nothing

    MsgBox "Budget doubled successfully. ", vbInformation, "Duplicate"

    Me.Requery

    Else

    DoCmd.CancelEvent

    End If



    End Sub


      Data/hora atual: 3/8/2020, 18:45