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 17-05-2011
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Pasar un registro desde un dbgrid a un dbedit

Buenas a todos!! soy muy nueva en esto, necesito su ayuda...
tengo dos formularios, en form1 tengo un dbedit, en el cual se debe guardar el nombre de un profesional, seleccionado de un dbgrid que esta el el form2. Necesito saber como hacer eso, eh intentando varias formas pero siempre me guarda en el dbedit el que seleccione primero y no lo pudo cambiar.. desde ya muchas gracias.. espero sean rapidos en contestar porque es de bastante apuro.. racias nuevamente..

PD: estoy usando delphi 7, sql manager 2008.. trabajo con ibdatasey, ibquery, ibtransaction y ibdatasourse para cada dataset y query.. espero haber sido clara..
Responder Con Cita
  #2  
Antiguo 17-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Tratando de responder lo mas rapido posible.....
Tienes ligados el form 1 con el 2 ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 17-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno, esto solo demuestra que no fuimos lo suficientemente rápidos, que no vuelva a pasar.......
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 17-05-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Hola

En realidad no se como estas pasando los datos, pero creo que te puede suceder lo siguiente

Cuanto estas en el Form2, tienes seleccionado los datos y seleccionas un registro determinado, y quieres que al salir del Form2 y regresar al Form1 el dato que tienes seleccionado se muestre un un DBEdit.... Esto te funcionaria si al salir del Form2 y entrar al Form1 no cierras y abres nuevamente el DataSet....

Por lo cual te sugiero las siguientes alternativas:

La primera es que en vez de pasar los datos a un DBEdit los pases a un Edit, ya que el primer DBEdit te apunta al registro seleccionado en la base, en cambio el Edit solo te muestra el dato que se le esta asignando.

La segunda es que cuando selecciones el registro en el Form2 pases el codigo del Registro a una variable, y cuando vuelvas al Form1 localices el registro segun el codigo que tienes en la variable


Tambien seria bueno que pusieras más descripcion, algun código como lo estas realizando

Salu2
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 17-05-2011
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Tratando de responder lo mas rapido posible.....
Tienes ligados el form 1 con el 2 ?.
Saludos

Si los tengo ligados a los dos.. eso esta bien.. yo necesito un codigo en el cual pueda seleccionar un registro de una grilla y pasarlo a un dbedit de otro formulario.. gracias
Responder Con Cita
  #6  
Antiguo 17-05-2011
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 Vales08.

Espero no entender mál lo que pedis...

El tema pasa por saber donde está ubicado el TDataSource al que están relacionados el TDBGrid y el TDBEdit, ya que si los conectas al mismo DataSource no es necesario pasarlo por que el dato ya estará allí.

Partamos suponiendo que tenemos un DataSet con un sólo campo: 'Nombre'.

Si usas un TDataModule donde residen el DataSet y el DataSource deberías tener:

En Form1 el DBEdit con las siguientes propiedades asignadas:
Código Delphi [-]
uses 
  Form3;  // unidad del  DataModule
...
  DBEdit1.DataSource:= DataModule1.DataSource1;
  DBEdit1.DataField:= 'Nombre';

Y en Form2 el DBGrid con las propiedades:
Código Delphi [-]
uses
  Form3; // unidad del DataModule
...
  DBGrid1.DataSource:= DataModule1.DataSource1;
(Esto se puede hacer más fácil desde el Object Inspector pero así me es más sencillo de explicar)

En cambio si el DataSource reside en Form1 sería:
Form1:
Código Delphi [-]
  DBEdit1.DataSource:= DataSource1;
  DBEdit1.DataField:= 'Nombre';

Y en Form2:
Código Delphi [-]
uses 
  Unit1; // donde supuestamente está Form1
....
  DBGrid1.DataSource:= Form1.DataSource;

Por último si el DataSource reside en Form2, sería al revés.

En cualquiera de los casos al seleccionar una fila del DBGrid verías reflejada inmediatamente la selección en el DBEdit del otro form.

En definitiva la cuestión pasa por que los dos componentes (DBEdit y DBGrid) hagan referencia al mismo DataSet por medio del mismo DataSource.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 17-05-2011 a las 19:40:46.
Responder Con Cita
  #7  
Antiguo 18-05-2011
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola Vales08.

Espero no entender mál lo que pedis...

El tema pasa por saber donde está ubicado el TDataSource al que están relacionados el TDBGrid y el TDBEdit, ya que si los conectas al mismo DataSource no es necesario pasarlo por que el dato ya estará allí.

Partamos suponiendo que tenemos un DataSet con un sólo campo: 'Nombre'.

Si usas un TDataModule donde residen el DataSet y el DataSource deberías tener:

En Form1 el DBEdit con las siguientes propiedades asignadas:

Código Delphi [-]
uses
Form3; // unidad del DataModule
...
DBEdit1.DataSource:= DataModule1.DataSource1;
DBEdit1.DataField:= 'Nombre';





Y en Form2 el DBGrid con las propiedades:

Código Delphi [-]
uses
Form3; // unidad del DataModule
...
DBGrid1.DataSource:= DataModule1.DataSource1;




(Esto se puede hacer más fácil desde el Object Inspector pero así me es más sencillo de explicar)

En cambio si el DataSource reside en Form1 sería:
Form1:

Código Delphi [-]
DBEdit1.DataSource:= DataSource1;
DBEdit1.DataField:= 'Nombre';





Y en Form2:

Código Delphi [-]
uses
Unit1; // donde supuestamente está Form1
....
DBGrid1.DataSource:= Form1.DataSource;





Por último si el DataSource reside en Form2, sería al revés.

En cualquiera de los casos al seleccionar una fila del DBGrid verías reflejada inmediatamente la selección en el DBEdit del otro form.

En definitiva la cuestión pasa por que los dos componentes (DBEdit y DBGrid) hagan referencia al mismo DataSet por medio del mismo DataSource.

Un saludo.

ecfisa muchas gracias, es eso lo que tenia que hacer...

yo tenia el dataset y el datasourse en un data module asiq aplique la primer opcion q me has dado....

muy clara y bien explicada tu respuesta...

un saludo.-
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
dbgrid a dbedit lucas05 Varios 6 11-04-2011 02:57:58
pasar un registro de un dbedit a otro con el procedure edit betty_loo Conexión con bases de datos 1 07-11-2007 22:51:55
Pasar de DBGrid a DBEdit nachosan Varios 4 27-09-2007 16:55:05
Pasar datos de un dbgrid a un dbedit fran Tablas planas 14 13-03-2007 10:38:33
Pasar datos desde un DBGrid jdangosto OOP 2 19-02-2005 16:55:37


La franja horaria es GMT +2. Ahora son las 10:37:10.


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