bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Replicar registros de uma tabela

... Assinatura do site por 3 anos + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$182,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Replicar registros de uma tabela

Antes de iniciar a sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

Usuário Marcos:

Boa tarde!

Amigo Avelino,  tem como replicar dados de uma tabela, alterando somente a data?

Data - Campo1 - Campo2

01/01/2018 06:00 07:10
Acrescentar 02/01/2018 06:00 07:10
Acrescentar 03/01/2018 06:00 07:10

e assim por diante - datas diferentes, utilizando os mesmos dados dos campos.

Grato.

Suporte:

Marcos,

segue um exemplo. Abra o formulário de teste e clique no botão para gerar os registros.

O código é este:

Private Sub Comando3_Click()
Dim rs As DAO.Recordset
Dim strSql$, k(3)
strSql = "SELECT * FROM tblteste WHERE dataT = dmax('dataT','tblTeste')"
'carrega o registro com a maior data (considerei aqui que não haverá repetição de data nesta tabela)
Set rs = CurrentDb.OpenRecordset(strSql)
'passa para matriz os valores dos campos
k(0) = rs!dataT
k(1) = rs!campo1
k(2) = rs!campo2
'alimenta a tabela com novos registros, com data crescente
For j = 1 To Me!txtReg
    rs.AddNew
        rs!dataT = k(0) + j
        rs!campo1 = k(1)
        rs!campo2 = k(2)
    rs.Update
Next
rs.Close
Set rs = Nothing
MsgBox "Abra a tabela tblTeste e verifique os registros que foram lançados...", vbInformation, "Aviso"
End Sub

Usuário Marcos:

Bom dia, mestre Avelino!

Sim, é basicamente isso, com a seguinte diferença: por exemplo, em 01/01/2018 tenho um conjunto de dados e quero gerar todos esses dados para o dia seguinte ou para qualquer outra data de referência. A idéia consiste em pegar  todos os dados de 01/01/2018 e realizar uma cópia para 02/01/2018.

id - data - horário - linha cod - codtab

1 01/01/2018 05:00 0.512 001 14.1
2 01/01/2018 05:20 0.513 001 14.1
3 01/01/2018 06:10 0.600 001 14.1
4 01/01/2018 06:00 0.501 001 14.1

5 02/01/2018 05:00 0.512 001 14.1
6 02/01/2018 05:20 0.513 001 14.1
7 02/01/2018 06:10 0.600 001 14.1
8 02/01/2018 06:00 0.501 001 14.1

Suporte:

Marcos,

segue o exemplo, acrescentando a tabela tblTeste2 e utilizando o seguinte código, que acrescenta os novos registros:

Private Sub Comando3_Click()
Dim rs As DAO.Recordset
Dim strSql$
strSql = "SELECT * FROM tblteste2 WHERE [data] = #" & Format(Me!DataMovimento, "mm/dd/yyyy") & "#"
Set rs = CurrentDb.OpenRecordset(strSql)
rs.MoveLast: rs.MoveFirst
Do While Not rs.EOF

    CurrentDb.Execute "INSERT INTO tblteste2 (data,horario,linha,cod,codtab) VALUES ('" & rs!Data + 1 & "','" & _
    rs!horario & "','" & rs!linha & "','" & rs!cod & "','" & rs!codtab & "');"
    
    rs.MoveNext
Loop
rs.Close
Set rs = Nothing
MsgBox "Abra a tabela tblTeste2 e verifique os registros que foram lançados...", vbInformation, "Aviso"
End Sub

Usuário Marcos:

Beleza, isso mesmo!

Avelino, muito obrigado!

Download

 


 

 


Não há comentário

Envie seu comentário: