Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   seleccion DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=65009)

hybrid 15-11-2009 11:14:30

seleccion DBGrid
 
Hola,

Estoy trabajando con dos tablas relacionadas, una donde insertaremos los datos del form (tabla1) y un DBGrid que muestra los datos de la otra tabla (tabla2).me gustaria capturar el registro que el usuario escoja del DBGrid (tabla2) para poder completar los datos del insert en la tabla1.
Como lo hariais vosotros? gracias

Aleca 15-11-2009 13:54:46

:confused: No te entendí muy bien, pero lo q hago en esos casos es primero guardar la tabla1 y despues ingresar los datos de la tabla2.

voldemmor 15-11-2009 17:16:04

que base de datos usas
 
Bueno saludos primeramente.
Puedes comentar que base de datos estas utilizando?
Las inserciones las realizas mediante sentencias SQL o las tablas las tienes enlazadas a la dbgrid.

De ser este caso podes enlazar las tablas a dbgrid para cada una y usar la relacion mestro/detalle de este modo se ingresaran los datos como creo que lo requieres

hybrid 15-11-2009 20:38:16

el dbgrid esta enlazado a una tabla...
es decir.. tengo un form para insertar datos en una tabla (los componentes del form estan asociados con la tabla clientes

pero hay un campo, el departamento... que es el dbgrid dnd hay una lista de los departamentos que es otra tabla y donde el usuario escoge un registro. Lo que no se como hacer que cuando escoga el registro el usuario capture el departamento que ha escogido de la lista.

Axel_Tech 16-11-2009 12:40:18

Con la propiedad
Código Delphi [-]
DBGrid1.Fields[n].AsString
obtienes la fila donde está situado el cursor del DBGrid, es decir, el registro seleccionado. El índice n es la posición del campo en el DBGrid, o lo que es lo mismo, la columna que te interesa.
Puedes hacer que en el evento OnClick del DBGrid se actualicen los controles del Form que te interesen según el registro seleccionado, o también con un botón a parte que realice dicha tarea.

luk2009 16-11-2009 12:53:30

si no dices que base de datos usas y si estas usando sql es mas dificil ayudarte
danos esa informacion asi podemos ayudarte mejor.

mientras tanto si no entendi mal, puedes asociar ese campo de la tabla 2 a el dbedit del form donde esta el departamento y asi cuando te muevas en el dbgrid el departamento cambiara en el form

hybrid 16-11-2009 23:45:28

Hola!

Siento si no m se explicar... simplemente mi idea es poder capturar los datos de una tabla al clickar el usuario en una fila de un dbgrid... en principio mi idea era capturar los valores al hacer click el usuario en la fila... o sea con un evento onclick... pero no veo que este en los dbgrids... entonces nose si hay algun evento parecido...

gracias por intentar entender mis dudas.

Saludos!

Axel_Tech 17-11-2009 09:07:20

Cita:

Empezado por hybrid (Mensaje 346709)
en principio mi idea era capturar los valores al hacer click el usuario en la fila... o sea con un evento onclick... pero no veo que este en los dbgrids... entonces nose si hay algun evento parecido...

Échale un vistazo al evento OnCellClick.

ElDioni 17-11-2009 10:42:49

Digo yo que para mostrar los datos del dbgrid tendrás asociado algún componente de bbdd tal como Adoquery, AdoTable, TTable o TQuery a un Datasource y este al dbGrid, si esto es así, (yo utilizo normalmente adoquery) al pinchar en cualquier campo del Dbgrid, el Query que tenías asociado a ese dbgrid se moverá automáticamente al registro y para acceder a ese valor puedes hacerlo de la siguiente forma.
Código Delphi [-]
adoquerydelatabla1.edit;
adoquerydelatabla1.fieldbyname('Departamento').AsString:=adoquerydelatabla2.fieldbyname('Departament  o').AsString;
Adoquerydelatabal1.post;
No se si te habré liado más o te habrá resuelto alguna duda. Espero que sea lo segundo.
Un saludo.

hybrid 21-11-2009 10:57:59

Gracias chicos!! era lo q buscaba


La franja horaria es GMT +2. Ahora son las 12:45:20.

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