Herramienta para saber registros duplicados en DBF? SOLUCION

Herramienta para saber registros duplicados en DBF? SOLUCION

Postby Andrés González » Tue Jul 23, 2013 3:53 pm

Alguien sabe como o si existe alguna herramienta que me diga si una dbf existen registros duplicados. Por fallo en una rutina, se han generado registros duplicados en una dbf durante una serie de meses. Ahora no se me ocurre una manera fácil de saber si una base de datos de aproximadamente 60000 registros tiene registros duplicados. Es una base de datos de unos 5 campos (usuario, tipo, fecha, comentario, administrador). Si los cinco campos coinciden están duplicados, pero creo que tendría que hacer 60000x60000 comparaciones. Alguna forma mas facil?
Last edited by Andrés González on Sat Jul 27, 2013 2:49 pm, edited 1 time in total.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: Herramienta para saber registros duplicados en DBF?

Postby karinha » Tue Jul 23, 2013 4:09 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7804
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Herramienta para saber registros duplicados en DBF?

Postby FranciscoA » Tue Jul 23, 2013 5:08 pm

Hola Andrés.
Se me ocurre esta pequeña función. Pruébala y me dices. (por lo menos no recorrerá 60000x60000

Code: Select all  Expand view
Function Duplicados()
local cDupl,aDupl:={}

SET DELETED ON

dbselectarea("clientes")
ordsetfocus("nombclte")    //nombre+ciudad
dbgotop()
While !eof()
   cDupl := Upper(field->nombre) + Upper(field->ciudad)
   dbskip()
   if Upper(field->nombre) + Upper(field->ciudad) == cDupl
      aadd(aDupl,cDupl)
   endif
Enddo
xbrowse(aDupl,"duplicados")
Return nil
 

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Herramienta para saber registros duplicados en DBF?

Postby acuellar » Tue Jul 23, 2013 5:30 pm

Crear una base nueva con la misma estructura indexada por los 5 campos
Grabar los registro cuando no exista, solo pasara por 60000

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Herramienta para saber registros duplicados en DBF?

Postby jrestojeda » Tue Jul 23, 2013 7:06 pm

Hola...
Probá abrir la DBF con alguna herramienta que se banque sentencias SQL o MySql y lo solucionás con un simple query.

Code: Select all  Expand view
SELECT *,COUNT(*) FROM TUTABLA GROUP BY  USUARIO, TIPO, FECHA, COMENTARIO , ADMINISTRADOR


En este query aquellos resultados que en la ultima columna muestren un número mayor que 1 serán los suplicados.

Code: Select all  Expand view
SELECT *,COUNT(*) FROM TUTABLA GROUP BY  USUARIO, TIPO, FECHA, COMENTARIO , ADMINISTRADOR HAVING COUNT(*) > 1

En este segundo query sólo mostrará los repetidos.

Espero te sirva la idea...
Saludos,
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Herramienta para saber registros duplicados en DBF?

Postby wilsongamboa » Tue Jul 23, 2013 8:58 pm

estimado

use tabla new exclusive
index on usuario + tipo + dtos(fecha) + comentario + administrador to i_01 unique

copy to otratabla
dbcloseall()

use otratabla //aca estaran los que no estan dulicados
browse()


saludos


Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Herramienta para saber registros duplicados en DBF?

Postby Andrés González » Sat Jul 27, 2013 1:03 pm

Gracias a TODOS, han sido muy buenas las respuestas y aunque llevo años con las DBF ignoraba el tema de reindexar con UNIQUE, siempre se aprende algo. SOLUCIONADO .

Soluciones previas que hice. Cristal Reports y tabla de referencia cruzada entre usuario y fecha mas tipo. Pero indudablemente hay que borrar a mano. Finalmente la reindexacion me ha ido bien, gracias.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Julio Cepeda and 40 guests