Title: Mensaje
Si no me está afectando demasiado el 'síndrome del maldito lunes que no se acaba', en ficheros de este tipo solamente podrás acceder a un registro en concreto si solamente uno de los campos tiene valor no fijado.
 
En el ejemplo: si con el peso supieras exáctamente el tramo a aplicar, entonces, cambiando la clave para poner delante el tramo de peso, te bastaría con un setll y un read, pero si el tramo de peso no es conocido a priori, lo vas a tener incluso más complicado de lo que comentas. Por ejemplo:
 
fecha vigor   hasta peso
1/5/2004      10
1/3/2004      40
 
Si este caso es factible, para un paquete de 30 kilos con fecha la de hoy, si te posicionas en la fecha más cercana no encontrarías tarifa a aplicar. Esto no pasará si todas las versiones de la tarifa recogen todos los pesos posibles.
 
Si todas las tarifas recogen todos los pesos posibles, entonces lo tienes mejor: un setgt por Empresa/Delegación/Tarifa/Fecha a aplicar + un readpe por Empresa/Delegación/Tarifa,  para calcular la última fecha de vigencia y luego un setll por Empresa/Delegación/Tarifa/Fecha vigencia obtenida anteriormente/peso del bulto + un reade por Empresa/Delegación/Tarifa/Fecha vigencia obtenida anteriormente para obtener el registro a aplicar. De esta manera no necesitas bucle .
 

Saludos.

Fernando Pérez.

Cerámica Saloni. Dpto. Sistemas


-----Mensaje original-----
De: Juan Antonio [mailto:[EMAIL PROTECTED]
Enviado el: lunes, 31 de mayo de 2004 18:09
Para: Forum
Asunto: Sobre acceso a un fichero...

Buenas tardes.
Se me plantea la siguiente duda (ya de lunes...).
Tengo un fichero que va a contener precios para tarifas, y puedo grabar estos para que entren en vigor dada cierta fecha. Es decir, la clave sería: Empresa/Delegación/Tarifa/Fecha vigor y Hasta Kilómetros y tendría un precio para esta clave.
Mi duda está en si es posible, y cómo (cambio en claves del fichero o estructura de fichero), capturar el registro en vigor de forma directa sin utilizar bucle de lectura alguno, esto es directamente con Setll/Segt y Read/Reade/Readpe poder recuperar el registro en vigor. Creo que la única forma es posicionandome por fecha y leyendo hasta localizar el correspondiente a 9 kms, pero es por quitarme la duda de si se puede hacer exclusivamente con las instrucciones Setxx y Readx/Readpx?.
Imaginar estos datos, siendo Empresa/Delegación/Tarifa conocidos y restrictores, y deseo saber precio tarifa para 2004-05-31 con 9 kms u 11 kms por ejemplo:
2004-01-01 // hasta 10 kms // 100 €
2004-01-01 // hasta 20 kms // 200 €
2004-01-01 // hasta 30 kms // 300 €
...etc
2004-06-01 // hasta 10 kms // 101 €
2004-06-01 // hasta 20 kms // 102 €
2004-06-01 // hasta 30 kms // 103 €
...etc
(Esta tarifa de junio puede existir para contemplar de antemano un cambio de tarifa futuro)

Attachment: Fernando Pérez.vcf
Description: Binary data

Responder a