Delphi - DE DBGrid A UN DBEdit

 
Vista:
sin imagen de perfil

DE DBGrid A UN DBEdit

Publicado por SIMON (17 intervenciones) el 31/05/2012 21:11:51
Hola a todos:

En un Form1 tengo un DBGrid enlazada a una base de datos en Access, que tiene el código, nombre apellidos y dirección. En una Form2 tengo DBEdit1, DBEdit2 y DBEdit3.

¿Qué es lo que quiero?

Que cuando el Form1 esté en ejecución y seleccione un fila cualquiera del DBGrid y le dé clic al botón aceptar, el código, nombre, apellidos de esa fila del DBGrid salgan en los DBEdit1, DBEdit2 y DBEdit3, es decir el código que salga en el DBEdit1, el nombre que salga en el DBEdit2 y así sucesivamente.

Ustedes no se imaginan todo lo que yo he pasado, tengo más de 1 mes preguntándole a mis compañeros de la universidad y nadie ha podido ayudarme.

Un millón de gracias por anticipado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

DE DBGrid A UN DBEdit

Publicado por E.T. (1244 intervenciones) el 01/06/2012 00:31:31
Es mas sencillo de lo que crees.
Primero hay que saber como conectas tu grid con tu tabla o query, lo haces por medio de un DataModule, o tienes en cada una de tus forms las tablas o querys?

Si tienes un DataModule, enlaza tus edits al mismo dataSource al que se enlaza el grid, y solo bastaria con mostrar tu form2, eso sería lo mas sencillo viendo mas o menos lo que tienes.

Si tienes las tablas en la form1, entonces agrega al uses de tu form2 el form1, y luego usa el datasource del form1 en los edits del form2.

Espero haber sido claro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

DE DBGrid A UN DBEdit

Publicado por SIMON (17 intervenciones) el 01/06/2012 01:42:44
Hola
Lo primero es que conecto mi DBGrid a través de un DataModule. El Form2 es una especie de registro o manteamiento. Realmente lo que quiero es que a través de la ventana de búsqueda que viene siendo el Form1, llevar los datos del cliente al Form2 que viene siendo el registro alquiler.

En resumen llevar los datos del registro o mantenimiento cliente al registro o manteamiento alquiler a través de una ventana de búsqueda cliente que me funciona perfectamente, que cuando seleccione un cliente en la ventana de búsqueda (DBGrid) me salgan en los DBEdit del registro alquiler.

Si hubiera la posibilidad que vieras mi proyecto, quizás me podrías ayudar mejor.
Pero te agradezco a ti y a cualquier se interese en mi problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

DE DBGrid A UN DBEdit

Publicado por E.T. (1244 intervenciones) el 01/06/2012 18:52:03
Ok, como estas usando el data module, es mas sencillo
Lo que debes hacer es lo siguiente:

Tu DBGrid, que está en el form de busquedas, está enlazado a tu base de datos con un dataSouce, el cual está en el datamodule, lo que debes hacer es que en tu form2, debes agregar el datamodule, como lo hiciste en tu form1, creo que eso ya lo deberias de tener, luego verificas que los DBEdit esten enlazados al mismo datasource del DBGrid, y cuando selecciones un registro en el grid y muestres tu form2, los datos deberian estar en tus DBEdits
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

DE DBGrid A UN DBEdit

Publicado por SIMON (17 intervenciones) el 02/06/2012 01:30:27
hola
Los DBEdit del registro alquiler (ósea el form2) están enlazado así: dataSouce: DataM.Dts_Cliente.

Realmente no me estás entendiendo, lo que quiero es: traer los datos de la tabla cliente a través de la ventana de búsqueda cliente y que me salgan en los DBEdit del form2 (registro alquiler), y luego guardarlos directamente a la tabla alquiler. Por tal razón los DBEdit están enlazados al datasource de la tabla alquiler.

Insisto Si hubiera la posibilidad que vieras mi proyecto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

DE DBGrid A UN DBEdit

Publicado por E.T. (1244 intervenciones) el 02/06/2012 18:19:21
Ok, ya te entiendo.

Lo que hay que hacer entonces es, en tu Form1, seleccionas el registro que deseas pasar dando click en el grid. Luego muestras la form2, y el su evento OnShow, pones el codigo para agregar los datos, algo asi

1
2
3
4
5
6
procedure TForm1.FormShow(Sender: TObject);
begin
  DataModule1.TablaAlquiler.Insert;
  DBEdit1.Text := DataModule1.TablaClientes.FieldByName('Nombre').AsString;
  DBEdit2.Text := DataModule1.TablaClientes.FieldByName('Apellidos').AsString;
end;

Luego en un boton para confirmar los datos pondrias
1
DataModule1.TablaAlquiler.Post
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

DE DBGrid A UN DBEdit

Publicado por SIMON (17 intervenciones) el 03/06/2012 17:28:27
Hola a todos
Me siento muy bien porque el código está a halando todos los datos de la ventana de búsqueda cliente al registro o manteamiento Alquiler.

El único problema es que solamente está halando los datos de la primera línea del DBGrid, pero mi corazón me dice que estamos casi cerca al llegar a la menta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

DE DBGrid A UN DBEdit (Resuelto)

Publicado por SIMON (17 intervenciones) el 03/06/2012 18:14:51
Caso Resuelto
Me puse a inventar y el código me sale perfectamente como quiero.
Gracias a todos(as) en lo que se interesaron en mi caso.

¿Realmente que hice?
En el botón de búsqueda cliente del registro alquiler agregué este código.

procedure TfrmAlquiler.btnBuscaClienteClick(Sender: TObject);
begin
frmBusCli.ShowModal;

edtCod_cli.Text:= frmBusCli.DBGrid1.DataSource.DataSet.FieldByName('cod_cli').AsString;
edtNom_cli.Text:= frmBusCli.DBGrid1.DataSource.DataSet.FieldByName('nom_cli').AsString;
dbedtape_cli.Text:= frmBusCli.DBGrid1.DataSource.DataSet.FieldByName('ape_cli').AsString;
dbedtced_cli.Text:= frmBusCli.DBGrid1.DataSource.DataSet.FieldByName('bal_cli').AsString;

end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar