Ver Mensaje Individual
  #6  
Antiguo 09-02-2011
delphijm delphijm is offline
Miembro
 
Registrado: abr 2008
Posts: 47
Reputación: 0
delphijm Va por buen camino
Hola a todos,

Antes de nada, Al, tienes razon en lo de que fui desconsiderado al no responder a las preguntas de Neftali y Javier cuando me ofrecieron su ayuda... Perdon a todos y a ti tambien...

A continuacion os expongo lo que quiero hacer... El como, como dices ya lo dije pero quizas no sea la forma correcta...

El caso es que estoy desarrollando una aplicacion de gestion de planing de carga de vehiculos en diferentes centros de expedicion...

Existen varios centros de expedicion y tambien varios vehiculos...
Cada centro de expedicion tiene asignados unos vehiculos concretos...

Por ejemplo:
--> Centros de expedicion --> 1=Centro 1, 2=Centro 2
--> Vehiculos --> VEH01, VEH02, VEH03

El mecanismos del planing es que, en un centro de expedicion se visualizan los vehiculos que estan asignados al centro...

Por ejemplo:
--> En el centro de expedicion 1 --> Vehiculos asignados VEH01, VEH02
--> En el centro de expedicion 2 --> Vehiculos asignados VEH03

Cuando se gestiona el planing del centro de expedicion 1, se crean tantas expediciones a uno de los vehiculos como pueda realizar en el dia.

El tema esta en que puede ser que el vehiculo VEH03 que corresponde al centro 2 tambien puede añadirse, eventualmente, en el centro 1 para realizar alguna expedicion...

Asi, puede darse el caso que un vehiculo, por ejemplo VEH03 el mismo dia tenga una expedicion en el centro 1 i otra en el centro 2...

Ahora viene el problema:

Cuando se empieza a gestionar el planing, se pide al usuario que centro de expedicion quiere gestionar...

Cuando escoje, por ejemplo, el centro 1, yo recupero de la BBDD todas las expediciones asignadas al centro 1..

Centrandonos en el vehiculo VEH03, en el ClientDataSet de expediciones tendre la/las expediciones del vehiculo del centro 1, pero no tengo la expedicion que pudiera tener en el centro 2 (ya que estoy gestionando el centro 1)...

Me interesa que esa expedicion tambien aparezca para que el usuario sepa de la existencia de esa otra expedicion...

Lo que queria hacer, es, recuperar en otro dataset todas las expediciones del vehiculo VEH03, independientemente del centro.

Como me interesaria trabajar con unico dataset porque lo tengo enlazado con un control de agenda (al que claro, solo puedo enlazar un ClientDataSet), mi idea era añadir los registros del segundo al primero (y "general")... Una especie de "merge"...

Pero claro, para añadir los registros al primer dataset tendre que hacer append's y el ClientDataSet va a "pensar" que son nuevos registros (de hecho para el si, pero no para la BBDD), con lo que cuando haga el applyupdates intentara insertar y provocara un error de clave duplicada...

JAVIER --> Si, hago el applyupdates a nivel de registro en el afterpost... Por eso me parecia que tu idea podia ser factible...

NEFTALI --> Quizas lo que expongo aclare las dudas que veias y, si quizas no es la mejor forma de hacerlo...

AL --> Te agradecere cualquier alternativa mejor que puedas proponerme... Ademas me alegro que tengas experiencia en el trabajo con el TClientDataSet, yo los uso y los tendre que usar con cierta intensidad, en general todo el mecanismo de acceso a Datos de DbExpress... Soy relativamente nuevo en el desarrollo en Delphi y en ocasiones me trabo en los lugares mas insospechados!!!

Gracias a todos y un saludo

Josep Mª
Responder Con Cita