PDA

Ver la Versión Completa : Copiar datos de una tabla a una edit


frholguin
21-10-2008, 20:33:01
Hola perdon por la pregunta he buscando y he encotrado cosas parecidas pero no lo que quiero.

estoy haciendo una peque aplicación en la que hay varias tablas todas tienen en el mismo campo llave

ID_Cliente

tengo mi tabla cliente y tengo mi tabla entradedocumento

TCliente Tentradoc
ID_Cliente ID_Cliente


estas son las tablas por ejemplo cuando tengo que crear la entrada de documento quiero poder halar el cliente desde la tabla cliente y que quede en el edit hasta que llene todos los campos y grabe la tabla. o sea que solo quiero copiar el ID_Cliente en un Edit cuando este llenando los campos esto es para no tener que llenar a mano este campo. ha pero ID_Cliente debe traer el nombre tambien y copiarlo en otro edit.

Caral
21-10-2008, 20:42:21
Hola
No se donde esta el problema?.
1-Donde esta el id.cliente
2-Donde esta el nombre del cliente.
Son dos tablas, no?.
Lo que pretendes se puede hacer de varias formas y lo mas sencillo es con un dbedit.
No se si entiendo bien la pregunta.
Saludos

frholguin
21-10-2008, 21:04:49
EL ID_Cliente esta en las 2 tablas pero quiero es como si fuera una factura que escribe por ejemplo el ID de articulo y automaticamente te trae el nombre del articulo, el precio etc, pero no se como hacerlo que cuando ponga el codigo me extraiga de la otra tabla esos datos

Caral
21-10-2008, 21:25:47
Hola
Sinceramente das poca información, pero lo que pides, en esencia, se hace con una sentencia sql:

Query1.SQL.Text := 'Select * From TuTabla Where ID_Cliente = :ID';
Query1.Parameters[0].Value:= Edit1.Text;
Query1.Open;
Con enlazar el query1 a por ejemplo un dbgrid, saldra la informacion de ese ID.
Saludos

frholguin
21-10-2008, 22:16:14
ok me explicare mejor por ejemplo si tengo un resultado en un Dbgrid quiero que cuando yo le de doble clic encima ese resultado se copien en el dbedit de otro fomulario.
esta es la imagen del DB grid
http://www.cuelgalo.com/viewer.php?id=1224624252_imagen.JPG

Caral
21-10-2008, 22:18:55
Hola
:eek::D
Saludos

Caral
21-10-2008, 22:48:03
Hola
A ver si este ejemplo (http://wiki.clubdelphi.com/wiki/index.php/Codigo_en_Delphi_%28Peque%C3%B1os_Ejemplos%29_DESCARGAS#Pasar_datos_de_un_Form_a_otro) te sirve, por lo menos de guia, ya comentaras.
Saludos

Caro
22-10-2008, 14:16:59
Hola frholguin, debes tomar el valor de tu DataSet (que puede ser un Table, Query...) que se enlaza a tu DBGrid.


procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
FormSig.Edit.Text := DataSet.FieldByName('ID_Cliente').AsString;
FormSig.ShowModal;
end;


Saluditos

frholguin
22-10-2008, 15:15:52
Pues la verdad el unico ejemplo parecido pero no me sirve ya que esta copiando son los datos que estan por valor en un edit en un label cuando se crear el formulario, yo busco trabajo con base de datos. voy a ver si me explico mejor.

tengo esto

Tabla cliente esto es un DB_Grid en un formulario A
--------------------------------------------
ID_Cliente ! NombCliente ! RNCCliente !
--------------------------------------------
000-HDE ¡ Perez & CIA ! 00001212555!
--------------------------------------------

Tabla Entradocumento esto esta en un edit en un formulario B
--------------------------------------------
ID_Cliente ! NombCliente ! Tipo_doc !
--------------------------------------------
! ! !
--------------------------------------------

cuando yo haga clic en el grid del formulario A me pase Id_Cliente y NombCliente a los edit del formulario B.

Caro
22-10-2008, 15:22:42
Hola de nuevo, has probado lo que te puse :confused:, si quieres del campo nombre también, entonces tomas el valor de ese campo mas.


//En el evento Doble Click del dbGrid
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
FormB.Edit1.Text := DataSet.FieldByName('ID_Cliente').AsString;
FormB.Edit2.Text := DataSet.FieldByName('NombCliente').AsString;
FormB.ShowModal;
end;


Saluditos

frholguin
22-10-2008, 15:30:00
TKs si me funciona y excusenme mi lento aprendizaje y mi mala explicación gracias mil.

Caral
22-10-2008, 16:04:39
Hola
Bueno ya que lo hice lo pongo, por lo menos veras algo mas de código, se que no le llego a Caro, pero por lo menos te servirá de ejemplo.
El programita hace exactamente lo que quieres.
En el primer form hay un dbgrid, dándole doble click o aceptar abre el segundo form con los datos de la segunda tabla.
Bueno, espero que de algo te sirva.
Saludos

frholguin
22-10-2008, 20:20:48
tks brother

eliezermev
27-06-2011, 17:55:22
caro yo tengo un problema parecido, no se como mostrar el resultado de una suma en un edit. esta es la suma select sum(dias)as diaslab from asistencia where cedula=:ced, como hago para mostrar ese resultado en un edit, por favor ayudeme

Caro
29-06-2011, 17:13:23
caro yo tengo un problema parecido, no se como mostrar el resultado de una suma en un edit. esta es la suma select sum(dias)as diaslab from asistencia where cedula=:ced, como hago para mostrar ese resultado en un edit, por favor ayudeme

Hola eliezermev, tienes que utilizar el alias que le has dado (diaslab).


Edit.Text := Query.FieldByName('diaslab').AsString;


Saluditos