Boa tarde amigos do forum, socorro deu pane aqui.
Tenho duas tabelas:
TabFontePrincipal
TblARmazenamento
TabFontePrincipal – Na origem dessa tabela tenho um
Form por nome de “FormPrincipal”
que ao abrir gera 25 linhas,
que são horários das 00h00 min ás 24h00min.
Até ai tudo bem. Acontece que ao fechar do form “FormPrincipal” é transferido
Os registros para a outra tabela “TblARmazenamento” nessa transferência,
É deletado os dados da tabela “TabFontePrincipal” até aqui beleza. Eu precisaria que
Ao fechar do form” FormPrincipal” o código fizesse uma verificação, se já existisse
Os dados idênticos na tabela “TblARmazenamento” não fossem incluídos os tais novos registros.
O Código que estou usando está evitando a duplicação, mas da maneira errada, ele está
Excluindo os registros idênticos mais antigos, e adicionando os novos. E eu preciso ao
Contrario que ele preserva os antigos na tabela “TblARmazenamento” e exclua os recém, para
Evitar a tal duplicação.
Eis o Código que estou usando.
Private Sub Form_Close()
Dim strSQL As String, strSQLBackupDados As String
strSQLBackupDados = "INSERT INTO TblArmazenamento Select * FROM TabFontePrincipal"
DoCmd.RunSQL (strSQLBackupDados)
strSQL = "DELETE * FROM TabFontePrincipal"
DoCmd.RunSQL (strSQL)
On Error Resume Next
Dim db As DAO.Database, rst As DAO.Recordset
Dim strNome As String, strSaveName As String
Set db = CurrentDb()
Set rst = db.OpenRecordset("select * from TblArmazenamento order by Data, Hora, Maquina ASC;")
If rst.BOF And rst.EOF Then
MsgBox "Não existem registros..."
Else
rst.MoveFirst
Do Until rst.EOF
strDupName = rst.Fields("Data") & rst.Fields("Hora") & rst.Fields("Maquina")
If strDupName = strSaveName Then
rst.Delete
Else
strSaveName = rst.Fields("Data") & rst.Fields("hora") & rst.Fields("Maquina")
End If
rst.MoveNext
Loop
Set rst = Nothing
Set db = Nothing
End If
End Sub
Eis o bd:
http://speedy.sh/PPX8n/EVITAR-DUPLICATA.zip
Me ajudem se puderem, desde ja agradeço!
Tenho duas tabelas:
TabFontePrincipal
TblARmazenamento
TabFontePrincipal – Na origem dessa tabela tenho um
Form por nome de “FormPrincipal”
que ao abrir gera 25 linhas,
que são horários das 00h00 min ás 24h00min.
Até ai tudo bem. Acontece que ao fechar do form “FormPrincipal” é transferido
Os registros para a outra tabela “TblARmazenamento” nessa transferência,
É deletado os dados da tabela “TabFontePrincipal” até aqui beleza. Eu precisaria que
Ao fechar do form” FormPrincipal” o código fizesse uma verificação, se já existisse
Os dados idênticos na tabela “TblARmazenamento” não fossem incluídos os tais novos registros.
O Código que estou usando está evitando a duplicação, mas da maneira errada, ele está
Excluindo os registros idênticos mais antigos, e adicionando os novos. E eu preciso ao
Contrario que ele preserva os antigos na tabela “TblARmazenamento” e exclua os recém, para
Evitar a tal duplicação.
Eis o Código que estou usando.
Private Sub Form_Close()
Dim strSQL As String, strSQLBackupDados As String
strSQLBackupDados = "INSERT INTO TblArmazenamento Select * FROM TabFontePrincipal"
DoCmd.RunSQL (strSQLBackupDados)
strSQL = "DELETE * FROM TabFontePrincipal"
DoCmd.RunSQL (strSQL)
On Error Resume Next
Dim db As DAO.Database, rst As DAO.Recordset
Dim strNome As String, strSaveName As String
Set db = CurrentDb()
Set rst = db.OpenRecordset("select * from TblArmazenamento order by Data, Hora, Maquina ASC;")
If rst.BOF And rst.EOF Then
MsgBox "Não existem registros..."
Else
rst.MoveFirst
Do Until rst.EOF
strDupName = rst.Fields("Data") & rst.Fields("Hora") & rst.Fields("Maquina")
If strDupName = strSaveName Then
rst.Delete
Else
strSaveName = rst.Fields("Data") & rst.Fields("hora") & rst.Fields("Maquina")
End If
rst.MoveNext
Loop
Set rst = Nothing
Set db = Nothing
End If
End Sub
Eis o bd:
http://speedy.sh/PPX8n/EVITAR-DUPLICATA.zip
Me ajudem se puderem, desde ja agradeço!