Olá senhores,
Encontrei o código abaixo aqui no forum, porem não estou conseguindo fazer com que funcione no meu projeto, ele não esta percorrendo todos os registros do formulário, fiz simulação sem a condição if (registro selecionado) e o código gerou 4 registros (numero total de registros do formulário) na tabela, porem os registros gerados são referente ao primeiro registro do formulário, quando deixo a condição if ativada se o campo seleciona do primeiro esta clicado ele cria somente esse registro na tabela, mesmo tendo outros selecionados.
Imagem do Formulário com os registros
Imagem do Formulário
Obrigado pela Ajuda.
Encontrei o código abaixo aqui no forum, porem não estou conseguindo fazer com que funcione no meu projeto, ele não esta percorrendo todos os registros do formulário, fiz simulação sem a condição if (registro selecionado) e o código gerou 4 registros (numero total de registros do formulário) na tabela, porem os registros gerados são referente ao primeiro registro do formulário, quando deixo a condição if ativada se o campo seleciona do primeiro esta clicado ele cria somente esse registro na tabela, mesmo tendo outros selecionados.
Imagem do Formulário com os registros
Imagem do Formulário
- Código:
Dim rs As DAO.Recordset
Dim tbl As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM cp02cotacaoitens"
'Abre a tabela que receberá os dados
Set tbl = CurrentDb.OpenRecordset(strSQL)
'carrega os dados do sub formulário
Set rs = Forms!cotacaoitensgerardojob.RecordsetClone
'Percorre os registros do sub forumlário um a um
Do While Not rs.EOF
If Me.ve08_sel <> 0 Then
'Copia os dados do sub formulário para a tabela
tbl.AddNew
tbl!cp02_idorc = Me.cp01_id
tbl!cp02_idcredor1 = Me.cp01_idcredor1
tbl!cp02_idcredor2 = Me.cp01_idcredor2
tbl!cp02_idcredor3 = Me.cp01_idcredor3
tbl!cp02_idcredor3 = Me.cp01_idcredor3
tbl!cp02_nitemjob = Me.ve08_nitem
tbl!cp02_idprod = Me.ve08_idprod
tbl!cp02_qtde = Me.ve08_qtde
tbl!cp02_ultpreco = Nz(DLookup("pr06_ultpreco", "pr06produtos", "pr06_id = " & Me.ve08_idprod))
tbl!cp02_dtultpreco = Nz(DLookup("pr06_dataultimopreco", "pr06produtos", "pr06_id = " & Me.ve08_idprod))
tbl!cp02_nitem = Nz(DMax("cp02_nitem", "cp02cotacaoitens", "cp02_idorc = " & Me.cp01_id)) + 1
tbl.Update
Me.ve08_sel.Value = 0
End If
'vai para o proximo registro do sub formulário
rs.MoveNext
Loop
tbl.Close
rs.Close
Set tbl = Nothing
Set rs = Nothing
MsgBox "Registro(s) salvo(s) com SUCESSO!", , "Gerar Cotação"
Obrigado pela Ajuda.
Última edição por gtpsp em 17/1/2019, 01:27, editado 1 vez(es)