Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Tenho o seguinte código que grava um arquivo e para posterior consulta grava os dados no bd. Até aí beleza. Só que como está dentro de um FOR/NEXT está duplicando os registros.
Agora pra não duplicar estou tentando apagar o que estiver repetindo, mas não to achando uma solução pra isso...
Segue a parte do código que apagaria os duplicados e que não tá funcionando...
SQLD1 = "select distinct iddig FROM fechados where protocolo = '"&protocolo&"' and gerado = '"&gerado&"' and ativo = '"&ativo&"'"
set rsd1 = Conn.Execute(SQLD1)
WHILE NOT rsd1.EOF
nEmail = rsd1("iddig")
SQLDEL1 = ("Select COUNT(iddig) AS TOTAL FROM fechados where iddig = '" & nEmail & "'" )
SET RSDEL1 = Conn.Execute(SQLDEL1)
if not RSDEL1.eof then
total = RSDEL1("TOTAL")
if total > "1" then
SQLDEL = ("delete from fechados where iddig = '"&nEmail&"'")
Conn.Execute(SQLDEL)
End if
rsd1.MOVENEXT
End if
WEND
Ele apaga todos os registros, depois tentei assim e aí não apaga os duplicados:
SQLD1 = "select distinct iddig FROM fechados where protocolo = '"&protocolo&"' and gerado = '"&gerado&"' and ativo = '"&ativo&"'"
set rsd1 = Conn.Execute(SQLD1)
WHILE NOT rsd1.EOF
nEmail = rsd1("iddig")
SQLDEL1 = ("Select COUNT(iddig) AS TOTAL FROM fechados where iddig = '" & nEmail & "'" )
SET RSDEL1 = Conn.Execute(SQLDEL1)
if not RSDEL1.eof then
total = RSDEL1("TOTAL")
if total > "1" then
SQLDEL = ("delete from fechados WHERE iddig NOT IN (SELECT max(iddig) FROM digisalva WHERE iddig = '" & nEmail & "')" )
Conn.Execute(SQLDEL)
End if
rsd1.MOVENEXT
End if
WEND
Se alguém puder dar uma forcinha... já fucei o forum mas não achei nada que desse certo.
Bjs
Carregando comentários...