Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-01-2013
y_a_p y_a_p is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 37
Poder: 0
y_a_p Va por buen camino
Pasar un registro de una DBGird a otra sin que se repitan!!

Hola a todos!!!, con urgencia necesito ayuda!!!, estoy haciendo un programa con Delphi 7, Gestor de Base de Datos SQL Manager 2008 for Interbase, y motor de Base de Dato Firebir tengo una grilla que esta conectada a un dataset que corresponde a una tabla que tiene alimentos cargados y otra que corresponde a una relación entre un plan de alimentación que corresponde a un paciente específico y los alimentos antes mencionados, el tema es que yo tengo que pasar en definitiva alimentos a la tabla de la relación y me pasa siempre el preimero, por favor agradecería su ayuda, gracias!!!
Responder Con Cita
  #2  
Antiguo 24-01-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola y_a_p.
Cita:
tengo una grilla que esta conectada a un dataset que corresponde a una tabla que tiene alimentos cargados y otra que corresponde a una relación entre un plan de alimentación que corresponde a un paciente específico y los alimentos antes mencionados
¿ Podrías especificar como está establecida la relación y ponernos el código del pasaje de alimentos al plan de alimentación ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 24-01-2013
y_a_p y_a_p is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 37
Poder: 0
y_a_p Va por buen camino
Wink

Para no enredar mucho necesito pasar alimentos de una grilla a otra sin que se repitan y me pasa siempre el primero... Aqui está el código que yo tengo:
Código Delphi [-]
procedure TPlan_alimenticio.agregar_a_planClick(Sender: TObject);
var
alim:String;
begin
alim:=DM.DSET_alimNOM_ALIM.Value
if not(DM.Q_plan_y_alim.Locate('NOM_ALIMENTO', alim,[]))then
 begin
  DM.DSET_plan_y_alim.Append;
  DM.DSET_plan_y_alimID_ALIM.Value:=DM.DSET_alimID_ALIM.Value;
  DM.DSET_plan_y_alimID_PLAN.Value:=DM.DSET_plan_alimID_PLAN_A.Value;
  DM.DSET_plan_y_alimESTADO.Value:=0;
  DM.DSET_plan_alim.First;
  DM.DSET_plan_y_alim.Post;
  DM.Q_plan_y_alim.SQL.Clear;
  DM.Q_plan_y_alim.SQL.Add('select * from PLAN_Y_ALIM where ID_PLAN=:name and ESTADO=0');
  DM.Q_plan_y_alim.ParamByName('name').AsInteger:=DM.DSET_plan_y_alimID_PLAN.Value;
  DM.Q_plan_y_alim.Open;
 end;
end;
Responder Con Cita
  #4  
Antiguo 24-01-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Así a primera vista, la línea que pareciera provocar el problema es:
Código Delphi [-]
   DM.DSET_plan_alim.First;
Marcala como comentario (con "//" delante) y fijate si sigue con el mismo comportamiento.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 24-01-2013
y_a_p y_a_p is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 37
Poder: 0
y_a_p Va por buen camino
Uy!!, perdón esa línea había quedado de tanto intentar hacerlo de una forma u otra quedo no me habia dado cuenta, pero asi mismo no funciona sin esa linea...
Responder Con Cita
  #6  
Antiguo 25-01-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
Abriría, aparte del query, el dataSet (o hacer refresh, no sé que sería mejor).

(Entiendo que DM.Q es un Query [TQuery, TSqlQuery, etc] y DM.DSET el TClientDataSet)
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #7  
Antiguo 25-01-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Yo lo que hago es una consulta que me reuna los datos que quiero traspasar, select * de la tabla a, lugo voy al primer registro de esta tabla, luego le digo while not consulta de la tabla a.eof do y aqui empiezo a añadir registros a la tabla b
campo1.tabla b:0 campo1.tabla a;
campo2.tabla b:= cam,po2.tabla b;

etc.

Lo he escrito con la urgencia que nos pides, igual me dejo algo

Josep
Responder Con Cita
  #8  
Antiguo 29-01-2013
y_a_p y_a_p is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 37
Poder: 0
y_a_p Va por buen camino
Para arrancar quiero agradecer su ayuda!!!, pero desde mi punto de vista el problema está en que localiza siempre un mismo registro, agradezco tu ayuda Jafera, pero yo necesito pasar el campo sobre el que estoy posicionado, es decir selecciono el campo de la grilla y ese es el que debo pasar, pero si por casualidad lo quiero volver a pasar de vuelta no me lo debe dejar cargar si ya esta en la grilla 2 digamos que vendria ser a la que le tengo que pasar los campos... gracias!!!
Responder Con Cita
  #9  
Antiguo 29-01-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Buenos dias.

Como se ha comentado muchas veces por aquí, un grid (grilla) solo es una representacion visual y ordenada del resultado de una tabla o una consulta.

No se con que metodo pasas los registros de una tabla a la otra, si doble click, si menu contextual, etc.

Yo lo que hago habitaualmente en estos casos y lo uso bastante, es con un doble click en el campo que quiero transpasar, en este evento, lanzo una consulta parametrizada con el campo único (id_alimento) por ejemplo sobre la tabla de destino y si el resultado es superior a 0 quiere decir que ya existe el registro y aborto, sino es cuando hago el append.

Espero te sirva

Josep
Responder Con Cita
  #10  
Antiguo 30-01-2013
y_a_p y_a_p is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 37
Poder: 0
y_a_p Va por buen camino
Hola!!!, lo voy a intentar y te cuento como me fue, pero me parece una estupenda idea!!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
pasar de una tabla a otra lucas05 Varios 4 09-12-2011 03:20:38
Color en dbgird en funcion a una variable Choclito OOP 10 02-11-2011 16:14:09
Datos Combobox que no se repitan XaSu Varios 4 10-01-2008 12:55:43
evitar que se repitan los codigos juangabriel1786 Varios 3 21-09-2006 15:51:44
Salir de un dbgird con el tabulador aram2r OOP 4 28-05-2004 18:12:00


La franja horaria es GMT +2. Ahora son las 07:52:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi