Ver Repeticiones

HMG en Español

Moderator: Rathinagiri

Post Reply
User avatar
LOUIS
Posts: 256
Joined: Tue Dec 11, 2012 9:05 pm
DBs Used: DBF

Ver Repeticiones

Post by LOUIS »

Hola Amigos.

Aquí con una duda que no sé cómo resolver, esperando como siempre vuestra amabilidad, resulta que tengo una dbf donde un campo se llama DOCUMENTO y el otro REFERENCIA, ambos son char y tienen 6 de longitud ... en el campo Documento va un número que a veces se repite en el campo Referencia, pero no son iguales en la misma linea, el numero de Documento está en el Registro 124 y el mismo numero está en Referencia pero en el Registro 16 (ver imagen).

Que condición o sentencia debo escribir para que me muestre todos los pares que existan en la dbf ?
Documento == Referencia (no sirve)

De antemano, muchas gracias.

Louis
Attachments
REFERENCIA.jpg
REFERENCIA.jpg (46.83 KiB) Viewed 2846 times
Last edited by LOUIS on Fri Aug 19, 2016 4:45 pm, edited 1 time in total.
ASESORMIX
Posts: 216
Joined: Thu Oct 25, 2012 8:08 pm
Location: Bqto, Venezuela

Re: Ver Repeticiones

Post by ASESORMIX »

LIST FOR DOCUMENTO=X.OR.REFERENCIA=X
User avatar
LOUIS
Posts: 256
Joined: Tue Dec 11, 2012 9:05 pm
DBs Used: DBF

Re: Ver Repeticiones

Post by LOUIS »

Estimado:

Le agradezco por su respuesta a mi inquietud, pero la solución que Ud. me da, es cuando Yo conozco el número que busco, entonces ahí sí funciona ...

En el caso que expongo, yo no sé cuáles son los números que hay o puedan existir en la tabla dbf, con idéntico número en Documento y Referencia, pero en distintas lineas de grabación, por eso en el gráfico señalo con la flecha el número 300200, pero Yo no conozco este número, lo puse como ejemplo nada más.

Ojalá alguien tenga otra idea :roll: ... Gracias nuevamente.
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: Ver Repeticiones

Post by andyglezl »

Hola Louis

Para eso, (así de primera intención) tendrías que leer varias veces la DB.

1.- Leer el primer registro y tomar el valor del campo DOCUMENTO
2.- recorrer toda la DB comparando el valor que guardaste contra el campo REFERENCIA
3.- guardar el (los) registros que cumplan la condicion.

1.- Leer el segundo registro y tomar el valor del campo DOCUMENTO
2.- ......
3.- ......
Andrés González López
Desde Guadalajara, Jalisco. México.
ASESORMIX
Posts: 216
Joined: Thu Oct 25, 2012 8:08 pm
Location: Bqto, Venezuela

Re: Ver Repeticiones

Post by ASESORMIX »

Creo que la solucion es mas o menos asi:

Code: Select all


IDOC:="IDOC.NTX"
IREF:="IREF.NTX"
USE TABLA.DBF ALIAS T1
INDEX ON DOCUMENTO TO (IDOC)
INDEX ON REFERENCIA TO (IREF)
SET INDEX TO (IDOC),(IREF)
T1->(DBGOTOP())
DO WHILE !T1->(EOF())
  XDOC:=T1->DOCUMENTO
  DO WHILE T1->DOCUMENTO=XDOC.AND.!T1->(EOF())
   T1->(DBSKIP())
  ENDDO
  POSREG:=T1->(RECNO())
  SET ORDER TO 2            //t1->(indexord(2))
  IF T1->(DBSEEK(  XDOC ))
   MSGINFO("El Documento "+xdoc+"está en Referencia")  
  ENDIF
  SET ORDER TO 1        //t1->(indexord(1))
  T1->(DBGOTO( POSREG ))
ENDDO
USE
***
Espero te ayude...
User avatar
LOUIS
Posts: 256
Joined: Tue Dec 11, 2012 9:05 pm
DBs Used: DBF

Re: Ver Repeticiones

Post by LOUIS »

Excelente solución ASESORMIX
Muchas Gracias :)
Post Reply