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

    Duplicar registro - Formulário e subformulário

    avatar
    gustavo.hannouche
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 02/06/2020

    Duplicar registro - Formulário e subformulário Empty Duplicar registro - Formulário e subformulário

    Mensagem  gustavo.hannouche em 9/9/2020, 18:37

    Boa tarde pessoal,

    Tentei de todas as formas, mas não obtive sucesso.

    Possuo 2  tabelas com as fichas técnicas dos produtos (tbl_ficha tecnica_master e tbl_ficha tecnica_detalhes).

    Minha necessidade é a replicação de um registro, atualizando as 2 tabelas.

    A tabela master está sendo atualizada adequadamente. Já a detalhes é exibido o erro:


    Duplicar registro - Formulário e subformulário Screen12

    O erro está localizado em:

    Duplicar registro - Formulário e subformulário Screen10

    Obs: O tipo de dados do campo Foto 1 a foto 6 da tabela principal é anexo. Esse item também não consegui duplicar.


    MUITO OBRIGADO

    Grande abraço

    Segue o código:

    Private Sub btn_duplicar_Click()

    If Not IsNull(Me!cod_FT_master) Then
       If MsgBox("Confirma a duplicação do registro?", vbQuestion + vbYesNo) = vbYes Then
       
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    '1 cria uma nova numeração

    Set db = CurrentDb
    Set rs = db.OpenRecordset("tbl_ficha tecnica_master")

    'Depois adiciona os dados a tabela
    rs.AddNew

    rs!cod_FT_master = DMax("cod_FT_master", "tbl_ficha tecnica_master") + 1
    rs!cod_produto_FT_master = cbo_produto
    rs!ficha_tecnica_data = cxt_ficha_tecnica_data
    rs!ficha_tecnica_ID_func = Cbo_ID_func
    rs!rendimento_ficha = cxt_rendimento_ficha
    rs!unidade_rendimento = cxt_unidR
    rs!descritivo = cxt_descritivo & " [COPIA]"
    rs!modo_fazer = cxt_processo
    'rs!foto1 = ft_1
    'rs!foto2 = ft2
    'rs!foto3 = ft3
    'rs!foto4 = ft4
    'rs!foto5 = ft5
    'rs!foto6 = ft6
    rs!cod_usuario = Cxt_cod_user
    rs!cod_empresa = cxt_Cod_empresa
    rs!dt_cad = Date
    rs!dt_edicao_cad = Date
    rs!Var_controle1 = cbo_var1
    rs!par_var_controle1 = cx_par_var1
    rs!Var_controle2 = cbo_vr2
    rs!par_var_controle2 = cx_par_var2
    rs!Var_controle3 = cbo_vr3
    rs!par_var_controle3 = cx_par_var3
    rs!prazo_validade = cx_prazoV
    rs!obs_FT_Master = cxtx_obsFT
    rs!index_proc_compra = cxt_index_proc_comp
    'rs!Add_tb_processado = ""

    rs.Update
    DoCmd.RunCommand acCmdSaveRecord 'Salvo o Registro antes de começar a selecionar os dados

    '***************************************
    'SUBFORM'
    'usando access Avelino Sampaio

    Dim rsP As DAO.Recordset
    Dim tbl As DAO.Recordset
    'Abre a tabela que receberá os dados
    Set tbl = CurrentDb.OpenRecordset("tbl_ficha tecnica_detalhes")
    'carrega os dados do subformulário
    Set rsP = SubFrm_CadastroFichaTecnicaitens.Form.RecordsetClone
    SubFrm_CadastroFichaTecnicaitens.Enabled = True

    'Percorre os registros do subformulário um a um

    'rsP.MoveFirst 'Informo para comecar do inicio

    Do While Not rsP.EOF
         'Copia os dados do subformulário para a tabela
          tbl.AddNew
              tbl![cod_FT] = DMax("cod_FT_master", "tbl_ficha tecnica_master")
              tbl!material_ID_filho = rsP!cb_material_ID_filho
              tbl!material_qtdLiq = cxt_material_qtdLiq
              tbl!material_qtdbruta = cxt_material_qtdbruta
              tbl!material_fc = 1
              tbl!material_fatorC_T = cxt_material_fatorC_T
              tbl!material_estado_filho = cxt_estado
                     
             tbl.Update
       'vai para o próximo registro do subformulário
           rsP.MoveNext
    Loop
    rs.Close
    tbl.Close
    rsP.Close
    Set tbl = Nothing
    Set rsP = Nothing
    Set db = Nothing
    MsgBox "Dados copiados...", vbInformation, "FT"
    '*******************************************
    'DoCmd.RunCommand acCmdSaveRecord 'Salvo o Registro antes de começar a selecionar os dados
    Me.Form.Requery
    DoCmd.GoToRecord , , acLast

    End If
    End If


     
    End Sub
    avatar
    gustavo.hannouche
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 02/06/2020

    Duplicar registro - Formulário e subformulário Empty Socorro

    Mensagem  gustavo.hannouche em 15/9/2020, 22:50

    Boa noite amigos do fórum,

    desculpe a insistência, mas não estou conseguindo mesmo sair dessa situação.

    Se alguém puder me ajudar...

    Será que é um problema de referências?

    Duplicar registro - Formulário e subformulário Screen14


    Um grande abraço!

      Data/hora atual: 25/11/2020, 13:15