![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Por cierto.
![]() ![]() Se va de vacaciones y no pide permiso, ni avisa. ![]() A ver si da señales de vida. ![]() ![]() Saludos |
#2
|
|||
|
|||
Es cierto Caral, parece que ya no quiero subir nada ni compartir nada, pero te aseguro que no es por nada especial, sino simplemente que creo que lo que tengo hecho ahora mismo no sirve para nada, hay un lio impresionante, pero realmente impresionante. Hasta yo me pierdo en el código.
Soy consciente de que no estoy haciendo esta parte demasiado bien pero he llegado a un punto en el que me superan las cosas. Entre todos los cambios que van surgiendo dia a dia y las partes que no consigo hacer no veas que agobio me entra por momentos. Aun así para que os hagais una idea y veais que realmente se está complicando el asunto, os pongo todo lo que tengo. Aqui esta lo último Hay que centrarse en los albaranes. Los clientes tienen mas opciones, hay remitentes, destinatarios, volumen para el peso, desembolso en origen ... tengo la cabeza que ya no da para mas. Hay varias casillas por ahi no visibles que he tenido que poner para conseguir algunos calculos. Lo importante ahora mismo es: Hay que editar un albaran, poner el peso y si queremos volumen, en Edit3 se recoge el peso max de esos dos valores, en DBEdit25 y solo despues de meter un destinatario (mas que nada pq antes no sabriamos donde va el bulto) se recoge la zona, que he calculado en base a los 2 digitos de la izquierda del codigo postal (Hay logicamente una tabla con los 52 codigos postales de España). Ahora bien, en DBEdit21 quiero que aparezcan los portes en base a: Peso que sale de Edit3 (pero no clavado sino que se tiene que amoldar a lo que hay en la tabla Tarifa) Zona que aparece en DBEdit25 Ya no se ni si me estoy explicando bien o no, pero solo por curiosidad echarle un vistazo al codigo del form albaranes, asi se entenderá mejor mi bloqueo, cabreo, decepción, agobio .... Buenas noches para el que pueda dormir bien, pq yo ya ni duermo ![]()
__________________
Mi proyecto paso a paso (Parte I) |
#3
|
|||||
|
|||||
Hola Delphitest
La verdad estoy mas confundido que tu pero lo voy a explicar como lo entiendo. Por favor respondeme si o no a estos puntos: 1- Tarifa= Peso x zona Es simplemente una tabla de comparacion. Cita:
Cita:
Cita:
Cita:
Si es asi, con solo tener el valor minimo de cada zona x porcentage se sacan los valores por peso que se necesiten. 5-Tanbien se puede hacer en base a diferencias de peso me explico. Cita:
Saludos |
#4
|
|||
|
|||
Abre la Tabla Tarifa y lo entenderas.
El destinatario tiene una zona en funcion de la provincia de destino, es la que calculo en DBEdit25. La tarifa es por ej: Estos son los campos: Peso, Precio Zona0, Precio Zona1, Precio Zona2 ...Precio Reexpedición y los registros serían: 5, 3.75, 4.50, 5.60 ... 10, 4.50, 5.60, 7.20 es decir que un registro corresponde a un peso pero con diferentes zonas y precios para cada una. Para calcular el porte hay que tener en cuenta el peso y una vez en el registro del peso correspondiente elegir la zona que coincida con la del destinatario. con el locate que tengo puesto solo funciona si el peso es exactamente igual que el de un registro, por ej. 5 , 10 ... pero si pongo 6 deberia corresponderle la tarifa de 10 Kg (hasta 10Kg) lo dejo por hoy, hasta mañana
__________________
Mi proyecto paso a paso (Parte I) |
#5
|
||||
|
||||
Hola, creo que debes reconciderar el uso del SQL, con esto no te digo que cambies nada, pero si muy bien podrías ausiliarte de una función que use una instrucción sql para resolber tu problema:
Te confieso que no estoy muy empapado en tu programa, no se los componentes que usas etc, pero me he concentrado en el problema actual, si como supongo siempre debes coger el valor inmediato superior al peso introducido en caso de no ser este uno de los existentes puedes crearte una función similar a esta:
Fíjate que te va a devolver el primer valor que sea mayor que el que has pasado como parámetro y en caso de que el parámetro exista en la base de datos te debe devolver ese mismo valor. Pues nada que el resultado de esa función es el que le debes pasar a tu locate
Espero que esto te de alguna idea, ya comentarás como te fue. Consejo: No tienes idea de la cantidad de quebraderos de cabeza que te puedes quitar con solo usar pequeñas inyecciones de SQL en tu sistema. Saludos
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo Última edición por yusnerqui fecha: 16-11-2006 a las 15:56:56. |
#6
|
|||
|
|||
Gracias Yusnerqui,
he incorporado ese código al programa y me da este error (a parte de los ';' que faltaban y he ido colocando) Indice de la lista fuera de rango(0) ¿Sabes a que puede ser debido? al final creo que debo de ser gafe ![]()
__________________
Mi proyecto paso a paso (Parte I) |
#7
|
||||
|
||||
jeje, no te preocupes que la culpa es toda mía, jejeje, es que me faltó ejecutar la consulta:
Te recuerdo que no va a funcionar así de flai, debes ajustarlo a los componentes que estás usando. Saludos.
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ejecutar Query Paso a Paso??? | juliopag1 | SQL | 0 | 17-06-2006 01:51:10 |
Novato (Paso a Paso de una consulta) | enecumene | Conexión con bases de datos | 2 | 29-05-2006 20:52:19 |
Motor Paso a Paso | jluisx | C++ Builder | 3 | 12-09-2005 16:48:07 |
Red Paradox paso a paso | Aldo Josué | Conexión con bases de datos | 2 | 13-12-2003 13:53:37 |
procedure paso a paso | Silver | Varios | 1 | 26-08-2003 20:24:00 |
![]() |
|