Duda para enlazar y traer datos de 2 tablas.!


([N1] leonardo daniel velazquez fuentes) #1

Hola a todos, tengo dos tablas.

1 - Conductores ( datos generales, asi como TIPO DE CHOFER y ANTIGUEDAD )

la segunda no se como hacerla y menos como ir a buscar y traerme esos datos de la segunda

2 - Pagos Conductores
* Si tipo Conductor = 1 y antiguedad menor a 6 meses le pago x ejemplo 300
* Si tipo Conductor = 1 y antiguedad mayor a 6 meses le pago x ejemplo 350

* Si tipo Conductor = 2  y antiguedad menor a 6 meses  le pago x ejemplo  500
* Si tipo Conductor = 2  y antiguedad mayor a 6 meses  le pago x ejemplo  550

Logicamente la antiguedad esta en la tabla de conductores, hay un sin fin de antiguedades (campo formula), entonces sabiendo que el conductor es tipo 1 y que tiene menos de 6 meses, debo ir a esa tabla de datos de pago y traerme ese valor (debe estar en una tabla porque esos datos se van cambiando con el tiempo $$)

Entonces como enlazo mi tabla conductores a esta tabla de parametros de pago, esto tambien me servira porque tambien habra una pequeña tabla con destinos fijos, la cual debo ir a revisar si existe la ciudad ahi y traerme unos datos, eso se me hace mucho mas sencillo, puesto que tengo ciudad den las 2 tablas.


([N4] carlitos) #2

con un cargar lista y sus respectivos índices.
Seguramente en la tabla de datos de pago tienes los campos suficientes para poder filtrar por antigüedad y tipo de conductor.
Haces un indice con esos campos y haces un cargar lista.
p.ejemplo:

SET ANT = CONDUCTORES.ANTIGUEDAD
SET TIPO_COND = CONDUCTORES.TIPO_COND
CARGAR LISTA (DATOS_DE_PAGO, ANT, TIPO_COND) ----> donde ANT y TIPO_COND filtran la tabla DATOS_DE_PAGO por ese ídice
SELECCIONAR FICHA POR POSICIÓN=1
MODIFICAR FICHA SELECCIONADA
SET SUELDO=TIPO_COND.SUELDO
-----------> VOlvemos a la tabla CONDUCTORES
MODIFICAR CAMPO CONDUCTORES.SUELDO = SUELDO

Más o menos así.
Creo que en algún post el amigo seh ya te ha dicho que es fundamental la construcción de las tablas con los índices adecuados…


([N4] Enrique) #3

Hola Leonardo,

en el PDF adjunto hago una explicación de como lograr esto que planteas utilizando la filosofía de Velneo (programar la base de datos). Espero te ayude a resolver este problema.

Saludos!

conductores.pdf (294 KB)


([N1] leonardo daniel velazquez fuentes) #4

Woow excelente explicacion, pense en algo asi, pero luego hacer cargar lista con los indices, pero pues asi la base de datos resuelve el asunto sin necesidad de programacion, y en todo momento tenemos actualizado lo que se le debe pagar al conductor

GRACIAS… en la primera oportunidad intentare implementarlo… de momento ya logre hacer funcionar el WebService de trazado de rutas de trailers por medio de XML Request, ahora me falta meterlo a velneo…

Grax

[quote quote=43925]Hola Leonardo,

en el PDF adjunto hago una explicación de como lograr esto que planteas utilizando la filosofía de Velneo (programar la base de datos). Espero te ayude a resolver este problema.

Saludos!

[/quote]

([N1] leonardo daniel velazquez fuentes) #5

Hola de nuevo, apenas trate de implementar lo que me dijiste, pero fijate que no me funciona, ya que uno de los campos de la tabla conductores es formula alfebetica, y al poner el campo puntero y resolver el indice, no me trae nada, sera por eso ?? es que el tipo de antiguedad se resuelve segun la cantidad de meses que tiene trabajando

[quote quote=43925]Hola Leonardo,

en el PDF adjunto hago una explicación de como lograr esto que planteas utilizando la filosofía de Velneo (programar la base de datos). Espero te ayude a resolver este problema.

Saludos!

[/quote]

([N4] Enrique) #6

Hola Leonardo,

adjunto (en 2 PDF por tema de espacio aquí en el foro) hago una explicación de como lograr esto. Además va un vin (está en versión 7.18) para que puedas probar la solución.

Saludos!

conductores1.pdf (246 KB)

conductores11.pdf (282 KB)

etest.vin_.zip (2.21 KB)