Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Insertar valores en un Dbgrid de otra tabla (https://www.clubdelphi.com/foros/showthread.php?t=83235)

Parsec 24-05-2013 20:49:48

Insertar valores en un Dbgrid de otra tabla
 
Hola a to2,

tengo asociado un ADOTable1 al DBgrid que me muestra todos los campos de la tabla, en el DBgrid modifico e inserto datos.
Hay un campo del DBgrid que quiero que lea desde otro ADOTable2 (¿¿lookup??? , ¿¿¿DBlookupCombobox???), que me permita seleccionar un valor de ADOTable2 y que quede grabado en el campo de ADOTable1 donde tengo asociada la consulta.

¿es posible hacer esto?, he estado modificando las propiedades KeyFields, lookupDataSet, LookupKeyFields y LookupResultFields del campo, pero no lo he logrado.

Saludos.

ecfisa 24-05-2013 22:28:32

Hola Parsec.

Si no entendí mal tu consulta, ajustá las siguientes propiedades en el TDBLookupComboBox:
  • ListSource : DataSource2 (TDataSource asociado a ADOTable2).
  • ListField: Campo de ADOTable2 que coincidirá con el valor de DataField.
  • KeyField: Valor que será insertado en el campo de ADOTable2 (seleccionado en DataField)
  • DataSource: DataSource1 (TDataSource asociado a ADOTable1).
  • DataField: Campo de ADOTable1 en que deseas asignar el valor seleccionado en la propiedad KeyField.

Saludos. :)

Parsec 25-05-2013 10:47:29

Hola Ecfisa,

antes de probar nada...¿el TDBLookupComboBox puede ser la celda de un DBgrid?, es que los valores los inserto y modifico desde el DBgrid.

Saludos

Parsec 25-05-2013 11:32:18

Ya lo tengo!!!

he creado un nuevo campo asociado a la AdoTable1 cuyos datos presento en el DBgrid con estos valores:

Selecciono la opción: Lookup

KeyFields = Al campo que quiero modificar/insertar (ADOtable1)
Dataset = ADOTable2 de donde leo los valores que debe de presentar
Lookup Keys = Campo que presento del ADOTable2
Result Fields = Igual que Lookup Keys

luego en el DBgrid presento el campo nuevo y quito el otro.

Y funciona perfectamente, cuando paso por el campo muestra un desplegable con los valores que puedo escoger, tomo uno de ellos y actualiza el campo de la tabla, pero tiene un pequeño inconveniente y es que para que salga el desplegable tengo que hacer doble clic con el ratón, o si me muevo con el teclado tengo que pulsar enter para que salga el desplegable ¿no puede salir directamente?.

Saludos

ecfisa 26-05-2013 00:36:58

Cita:

Empezado por Parsec (Mensaje 461225)
Hola Ecfisa,

antes de probar nada...¿el TDBLookupComboBox puede ser la celda de un DBgrid?, es que los valores los inserto y modifico desde el DBgrid.

Saludos

Hola Parsec.

Revisa estos artículos:
Saludos. :)

Parsec 26-05-2013 14:26:28

Muchas gracias, me pongo a ello.

saludos


La franja horaria es GMT +2. Ahora son las 07:35:17.

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