Boa noite
Sou novato no forum e queria saber se é possivel duplicar um orçamento que vai tocar em 3 tabelas, ou seja
Tabela 1 --> cabeçalho do documento
Tabela 2 --> linhas do orçamento
Tabela 3 --> medidas de linhas de orçamento
O que se pretente é ao duplicar o orçamento ele duplique toda a informação desde o cabeçalho, linhas de orçamento e as medidas das linhas de orçamento.
neste momento já consigo duplicar o Cabeçalho e as linhas do orçamento, só falta mesmo duplicar as medidas de linhas de orçamento com o seguinte codigo (retirado aqui do forum e adaptado para mim):
Private Sub Comando116_Click()
Dim dbs As DAO.Database, Rst As DAO.Recordset
Dim F As Form
' Retorna variável Database apontando para o banco de dados atual.
Set dbs = CurrentDb
Set Rst = Me.RecordsetClone
On Error GoTo Err_BtCopiar_Click
' Propriedade de Tag a ser utilizada mais tarde pela consulta com inserção.
Me.Tag = [ID_proposta]
' Adiciona novo registro ao fim do objeto Recordset.
With Rst
.AddNew
'Coloque aqui os dados do form que serão duplicados
!N_Proposta = Me!N_Proposta 'Vai ate aqui os dados nesse intervalo coloque tudo que ira ser duplicado, mas do FORM... ok
!Nome_Cliente = Me!Nome_Cliente
!Att_Cliente = Me!Att_Cliente
!Morada_Cliente = Me!Morada_Cliente
!Localidade = Me!Localidade
!Cod_Postal = Me!Cod_Postal
!Desconto_Valor_Geral = Me!Desconto_Valor_Geral
!Desconto_Percentagem_Geral = Me!Desconto_Percentagem_Geral
!Data_Proposta = Date
!Referencia_Cliente = Me!Referencia_Cliente
!Prazo_Entraga_Dias = Me!Prazo_Entraga_Dias
!Pagamento_Proposta = Me!Pagamento_Proposta
!Validade_Proposta = Me!Validade_Proposta
!Proposta_Iva = Me!Proposta_Iva
!Proposta_logo = Me!Proposta_logo
!Vendedor = Me!Vendedor
!Com_Renting = Me!Com_Renting
!Email_Cliente = Me!Email_Cliente
!Telefone_Cliente = Me!Telefone_Cliente
!OBS_Cliente = Me!OBS_Cliente
!Proposta_Resumo = Me!Proposta_Resumo
!Separado = Me!Separado
!NOTAS_Cliente = Me!NOTAS_Cliente
'!Anexos = !Anexos
!PHC_N = Me!PHC_N
!Status = Me!Status
!obra = Me!obra
!a_cardo_cliente = Me!a_cardo_cliente
!a_cardo_empresa = Me!a_cardo_empresa
!Orc_Aceite = Me!Orc_Aceite
!Proposta_ori = Me!Proposta_ori
!Proposta_ronovacao = Me!Proposta_ronovacao
!Proposta_nome = Me!Proposta_nome
.Update ' Salva alterações.
.Move 0, .LastModified
End With
Me.Bookmark = Rst.Bookmark
' Executa a consulta com inserção Duplicar Detalhes de Pedido que seleciona todos os
' registros de detalhe que têm o Codigo Pedido armazenado na propriedade Tag do formulário
' e os acrescenta de volta à tabela de detalhe com O Codigo Pedido do registro de formulário principal duplicado.
DoCmd.SetWarnings False
DoCmd.OpenQuery "Adicionar_Artigos_Propostas" ' Aqui vc coloca o nome da sua consulta acrescimo
DoCmd.SetWarnings True
'Requer que o subformulário exiba os registros recém-acrescentados.
Me![Propostas_Hardware].Requery ' Coloque aqui o nome do seu sub form que sera duplicado
Exit_Comando116_Click:
Exit Sub
Err_Comando116_Click:
MsgBox Error$
Resume Exit_Comando116_Click:
End Sub
Será que alguém me pode ajudar?
Sou novato no forum e queria saber se é possivel duplicar um orçamento que vai tocar em 3 tabelas, ou seja
Tabela 1 --> cabeçalho do documento
Tabela 2 --> linhas do orçamento
Tabela 3 --> medidas de linhas de orçamento
O que se pretente é ao duplicar o orçamento ele duplique toda a informação desde o cabeçalho, linhas de orçamento e as medidas das linhas de orçamento.
neste momento já consigo duplicar o Cabeçalho e as linhas do orçamento, só falta mesmo duplicar as medidas de linhas de orçamento com o seguinte codigo (retirado aqui do forum e adaptado para mim):
Private Sub Comando116_Click()
Dim dbs As DAO.Database, Rst As DAO.Recordset
Dim F As Form
' Retorna variável Database apontando para o banco de dados atual.
Set dbs = CurrentDb
Set Rst = Me.RecordsetClone
On Error GoTo Err_BtCopiar_Click
' Propriedade de Tag a ser utilizada mais tarde pela consulta com inserção.
Me.Tag = [ID_proposta]
' Adiciona novo registro ao fim do objeto Recordset.
With Rst
.AddNew
'Coloque aqui os dados do form que serão duplicados
!N_Proposta = Me!N_Proposta 'Vai ate aqui os dados nesse intervalo coloque tudo que ira ser duplicado, mas do FORM... ok
!Nome_Cliente = Me!Nome_Cliente
!Att_Cliente = Me!Att_Cliente
!Morada_Cliente = Me!Morada_Cliente
!Localidade = Me!Localidade
!Cod_Postal = Me!Cod_Postal
!Desconto_Valor_Geral = Me!Desconto_Valor_Geral
!Desconto_Percentagem_Geral = Me!Desconto_Percentagem_Geral
!Data_Proposta = Date
!Referencia_Cliente = Me!Referencia_Cliente
!Prazo_Entraga_Dias = Me!Prazo_Entraga_Dias
!Pagamento_Proposta = Me!Pagamento_Proposta
!Validade_Proposta = Me!Validade_Proposta
!Proposta_Iva = Me!Proposta_Iva
!Proposta_logo = Me!Proposta_logo
!Vendedor = Me!Vendedor
!Com_Renting = Me!Com_Renting
!Email_Cliente = Me!Email_Cliente
!Telefone_Cliente = Me!Telefone_Cliente
!OBS_Cliente = Me!OBS_Cliente
!Proposta_Resumo = Me!Proposta_Resumo
!Separado = Me!Separado
!NOTAS_Cliente = Me!NOTAS_Cliente
'!Anexos = !Anexos
!PHC_N = Me!PHC_N
!Status = Me!Status
!obra = Me!obra
!a_cardo_cliente = Me!a_cardo_cliente
!a_cardo_empresa = Me!a_cardo_empresa
!Orc_Aceite = Me!Orc_Aceite
!Proposta_ori = Me!Proposta_ori
!Proposta_ronovacao = Me!Proposta_ronovacao
!Proposta_nome = Me!Proposta_nome
.Update ' Salva alterações.
.Move 0, .LastModified
End With
Me.Bookmark = Rst.Bookmark
' Executa a consulta com inserção Duplicar Detalhes de Pedido que seleciona todos os
' registros de detalhe que têm o Codigo Pedido armazenado na propriedade Tag do formulário
' e os acrescenta de volta à tabela de detalhe com O Codigo Pedido do registro de formulário principal duplicado.
DoCmd.SetWarnings False
DoCmd.OpenQuery "Adicionar_Artigos_Propostas" ' Aqui vc coloca o nome da sua consulta acrescimo
DoCmd.SetWarnings True
'Requer que o subformulário exiba os registros recém-acrescentados.
Me![Propostas_Hardware].Requery ' Coloque aqui o nome do seu sub form que sera duplicado
Exit_Comando116_Click:
Exit Sub
Err_Comando116_Click:
MsgBox Error$
Resume Exit_Comando116_Click:
End Sub
Será que alguém me pode ajudar?