![]() |
Al cambiar de .NTX a .CDX quedan por fuera 482 facturas
Asi es mis amigos, y no tengo la menor ydea de por que?
Tengo un sistemita de facturacion que hice hace mas de 10 años y trabaja con indices .NTX, acabo de cambiarlo para que trabaje con .CDX. Es cambio fue transparente, funciona bien todo lo demas incluso los reportes por fecha me muestran esas mismas facturas (lo que me dice que el rollo puede estar relacionado con los indixes), pero cuando las consulto individualmente "no se encuentran". (aunque estan fisicamente en la tabla). Las tablas estan creadas en clipper, y el mantenimiento lo hace el mismo sistema hecho en clipper. Indexo por la clave Factura (Nº DE FACTURA) asi: IF FILE("FACTURAS.CDX") FERASE("FACTURAS.CDX") ENDIF USE FACTURAS NEW EXCLUSIVE INDEX ON FACTURA TAG INXFAC TO FACTURAS ACCEDO A LA TABLA ASI: IF NETUSE("FACTURAS", .F., 2) SET ORDER TO TAG INXFAC ELSE RETURN ENDIF Se que este no es un foro de clipper, pero la idea era que en vista de que el sitema "viejito" funcionaba muy bien, entonces mientras se crea el nuevo, hice una aplicacion que accede a dichas tablas por .CDX (sin problemas). Pero me encuentro ante esa traba. Tambien intente darle mantenimiento desde Delphi y se me corrompe la Tabla. Lo ideal seria dejarlo atras y que esperen hasta que este listo el Nuevo sistema, pero, (la tipica ley de Murphi) necesitan trabajar sobre algunas de, ADIVINARON! las facturas a las que no se pueden acceder. Repito solo es un bloque de Facturas que estan fuera del indice.... antes de esas todas se pueden consultar y despues tambien. Si alguien tiene una idea mucho se lo agradeceria. :confused: |
Yo pienso que las facturas están "borradas", sería conveniente que utilizando alguna utilidad compruebes si están marcadas para borrar.
Si es así desde clipper mismo desmárcalas.
Ahora crea de nuevo el índice, ya nos dirás si lo solucionas. Un Saludo. |
Gracias Marcos,
Eso fue lo segundo que revise. estan fisica y logicamente en la tabla. Acabo de mandar a que carguen la version anterior (la que usa NTX) y reindexen.... y como si nada hubiera pasado, se ven todas y cada una con todos sus datos..:confused: |
Otro asunto puede ser Set Unique, sino recuerdo mal si está activado no indexa los números repetidos aunque físicamente esten en la tabla.
Un Saludo. |
Es que eso es lo increible....
si estuviera indexando por una expresion compuesta u otra cosa, pero lo hago precisamente con el campo que es el correlativo de facturas.... y solamente por el. He estado pensando en que es una deficiencia en el manejo de .CDX de clipper 5.2 Creo que voy a tirar la toalla y paso la pagina. Me voy directo a delphi, despues pasare las tablas a FB y se acaba esa historia. Gracias como siempre Marcos... |
Como última prueba, crea una tabla nueva igual que la que te da problemas, y luego haces un "Append from" e importas todos los datos, mira a ver si están todos los registros y si es así crea los índices a ver que pasa.
Un Saludo. |
.... vale la pena probar,
Un millon por el dato. Realmente nunca trabaje con los .CDX, pero todas las referencias que tengo son buenas. Me estraña ese comportamiento, pero incluso se corronpian las tablas si las modificaba desde DB desktop. Vere que pasa... |
Y porque te cambiastes de .NTX a .CDX ????
|
Epale tocayo!
Es para que otro programita que hice en delphi accediera sin problemas a la base de datos. De hecho funciono como se esperaba, solo que despues de un dia de pruebas, nos dimos cuenta que al consultar facturas, algunas no se encontraban (en el indice, en la tabla si estan, y ese es el problema, porque las salta la indexacion?, no es lógico). Por cierto: las factura que no se indexan noson solo el bloque que mencione, sino que hay otros bloquesitos de facturas mas pequeños que tambien quedan por fuera :eek:. En los actuales momentos estoy tratando de darle la vuelta al asunto con el componente VKDBFNTX, pero es un tanto dificil usarlo, recien pude crear los campos persistentes, y algo falta, porque igual no habre la tabla aun....:confused: |
El viejo Clipper...
Fijate bien el tipo de campo que es Factura, si es string
indexalo con la misma cantidad de caracteres, es lo unico que se me ocurre. Sino que el indice activo sea realmente el que crees que es. Usa: FACTURAS->( DbGoTop() ) // vas al comienzo de la tabla FACTURAS->( OrdSetFocus( "INXFAC" ) ) // Seleccionas el tag olvidate de cambiar indices por numeros, ya que el indice es un solo archivo con sus respectivos tag en los CDX, mucho mas no recuerdo de Clipper pero era así. Cuanta nostalgia!!! Saludos y espero serte util |
Porque no cambias de base de datos a firebird, interbase, oracle, etc. etc. ????
|
Cita:
desde Clipper 5.X se puede acceder a base de datos firebird, interbase, oracle, etc. etc. ???? Si se pudiera creo que sería excelente, pero no viejo Lo mejor sería migrar obviamente, pero mientras no se realice la migración hay que mantener lo que hay y como sea. Saludos |
La franja horaria es GMT +2. Ahora son las 22:52:25. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi