Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   mostrar un dato con un DBLookupComboBox y guardar su indice (https://www.clubdelphi.com/foros/showthread.php?t=69010)

marcos_0586 20-07-2010 20:54:20

mostrar un dato con un DBLookupComboBox y guardar su indice
 
hola gente del foro,el problema que se me presenta en esta oportunidad es el siguiente y espero poder explicarlo de la mejor manera, tengo dos tablas, LOCALIDAD con los campos codigolocalidad, nombre. y EMPLEADO en la cual tengo entre otros, el campo localidad como clave secundaria por lo que debo guardar el campo codigolocalidad
El tema es que para que el usuario pueda ingresar los datos utilize un DBLookupComboBox el cual funciona, y me permite seleccionar las localidades por su nombre, pro no se como hacer para que cuando presione un boton de guardar_datos ,me guarde el codigolocalidad en la tabla empleado.
Bueno espero me puedan ayudar y desde ya muchas gracias

ecfisa 20-07-2010 21:35:03

Hola marcos.

Si no te entiendo mal sería:
Teniendo:
Londres 15
Buenos Aires 10
Madrid 5

Cuando el usuario seleccionó, por ejemplo: Madrid en el DBLookupComboBox, quiere decir
que está posicionado en ese registro, por lo que el campo codigolocalidad tendrá el valor 5.
Ahora sólo tendrías que asignarlo al campo localdidad que tenés a ese efecto en la tabla empleados.

Ejemplificando:
Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
  tbEmpleados.Edit;
  tbEmpleados.FieldByName('localidad').Value:=
      tbLocalidad.FieldByName('codigolocalidad').Value;
  tbEmpleados.Post;
end;

Saludos.

marilinspi 21-07-2010 00:01:33

Hola, pero si utilizas un DBLookupComboBox no tenes que asignar nada... solo tenes que configurar sus propiedades y lo guarda solo. En tu ejemplo seria:
propiedades del DBLookupComboBox
DataSource: El DataSource donde queres guardar el Dato (Empleado)
DataField: El nombre del campo a guardar (LocalidadEMP)
ListSource: El DataSource donde tenes las localidades (Localidades)
ListField: Lo que queres listar el el ComboBoix (NombreLOC)
KeyField: El campo de la tabla Localidades que queres guardar en la tabla Empleados (CodigoLOC)

Espero haberme explicado, cualquier cosa preguntame no mas.

ecfisa 21-07-2010 00:12:30

Cita:

Empezado por marilinspi (Mensaje 370981)
Hola, pero si utilizas un DBLookupComboBox no tenes que asignar nada... solo tenes que configurar sus propiedades y lo guarda solo. En tu ejemplo seria:
propiedades del DBLookupComboBox
DataSource: El DataSource donde queres guardar el Dato (Empleado)
DataField: El nombre del campo a guardar (LocalidadEMP)
ListSource: El DataSource donde tenes las localidades (Localidades)
ListField: Lo que queres listar el el ComboBoix (NombreLOC)
KeyField: El campo de la tabla Localidades que queres guardar en la tabla Empleados (CodigoLOC)

Espero haberme explicado, cualquier cosa preguntame no mas.

Tenés razón. No sé donde tengo la cabeza...:o

marcos_0586 21-07-2010 16:32:38

Gracias ecfisa y marilinspi por sus respuestas tan claras, son muy buenas opcines las dos y ya las estoy poniendo en practica, gracias


La franja horaria es GMT +2. Ahora son las 12:36:29.

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