Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-02-2016
GUN10 GUN10 is offline
Miembro
 
Registrado: feb 2010
Posts: 37
Poder: 0
GUN10 Va por buen camino
Mostrar campos de una tabla en un DBRadioGroup

Hola buenas noches!

Les comento que estoy trabajando con delphi 7 y una base de datos en mysql y se me preseta el siguiente problema.

He definido 3 tablas

-Usuarios (Usuarios que seran registrados en el sistema)
-Perfiles (ejemplo, administrador, operador, tecnico)
-Perfiles_usuarios (La cual me permite relacionar las 2 tablas anteriores por medio de sus 2 claves primarias)

Tengo realizada una ventana donde realizo el alta, baja, modificacion y eliminacion de los perfiles.
Ahora estoy realizando lo que seria el alta, baja, modificacion y eliminacion de los usuarios.

El problema es que cuando genero el alta de un nuevo usuario, necesito asignarle el tipo de perfil que tendra. (administrador, operador, tecnico, etc). Estos perfiles previamente cargados en la tabla "perfiles" los quiero poder mostrar en el formulario, ya sea por un radiogroup, o checkbox, para seleccionarlos a la hora de hacer la alta del usuario.

Lo que hice fue por medio de un ciclo while, poder mostrar y cargar todos los registros de la tabla perfiles (esta tabla tiene 2 campos, codigo_perfil, nombre_perfil).
Pero no consigo extraer el valor del campo "codigo_perfil" que es el que necesito para poder cargar en la tabla "perfiles_usuarios" y hacer la relacion de ese usuario con ese perfil.

Espero que se haya entendido y me puedan ayudar.

Saludos y muchas gracias!!
Responder Con Cita
  #2  
Antiguo 25-02-2016
iMia iMia is offline
Miembro
 
Registrado: jul 2010
Posts: 141
Poder: 14
iMia Va por buen camino
Y con un DBComboBox... sería lo suyo...
Responder Con Cita
  #3  
Antiguo 25-02-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Como te sugiere iMia, los combos cumplen muy bién la tarea que buscas.
Código Delphi [-]
...
implementation

// cargar nombre y código de perfil
procedure LoadComboBox(DS: TDataSet; CB: TComboBox);
begin
  DS.DisableControls;
  try
    DS.First;
    CB.Clear;
    while not DS.Eof do
    begin
      CB.AddItem(DS.FieldByName('NOMBRE_PERFIL').AsString,
        TObject(DS.FieldByName('CODIGO_PERFIL').AsInteger));
      DS.Next;
    end;
    DS.First;
  finally
    DS.EnableControls;
  end;
end;

// devuelve el código de perfil actual
function GetProfileCode(CB: TComboBox): Integer;
begin
  Result := Integer(CB.Items.Objects[CB.ItemIndex]);
end;

 { Ejemplo de uso }
procedure TForm1.FormCreate(Sender: TObject);
begin
  Tu_DataSet.Open;
  LoadComboBox(Tu_DataSet, ComboBox1);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
var
  cb: TComboBox;
  code: Integer;
begin
  cb   := TComboBox(Sender);
  code := GetProfileCode(CB);
  ShowMessage(Format('%s: %d',[cb.Items[cb.ItemIndex], code]));
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 25-02-2016 a las 11:19:47.
Responder Con Cita
  #4  
Antiguo 25-02-2016
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
tambien puedes usar un dblookupcombobox, en sus propiedades asignas

ListSource: el nombre de tu data source (el cual debe esta ligado a un data set o una tabla)
ListField: el nombre del campo que quieres que se muestre
KeyField: el campo id.

a la hora de guardar tomas el valor del keyfield

algunavariable:= nombredemidblookup.keyvalue;
__________________
un tipo al cual la sociedad no le tiene el mas mínimo respeto no puede ser presidente....
Responder Con Cita
  #5  
Antiguo 25-02-2016
GUN10 GUN10 is offline
Miembro
 
Registrado: feb 2010
Posts: 37
Poder: 0
GUN10 Va por buen camino
Muchas gracias por las respuestas!

Al final deje de complicarme tanto e hice que los datos sean mostrados en un dbcombobox y problema solucionado. Al menos realiza lo que esperaba.

Saludos !!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar campos de una Tabla cuando se actualize otra tabla RedVenom Varios 28 11-05-2011 18:19:38
Mostrar dos campos en un dblookupcombobox el_barto Conexión con bases de datos 3 25-07-2005 18:46:00
Como mostrar todos los campos salvanano Impresión 4 09-05-2005 01:20:55
Mostrar campos que no esten en una tabla jbetancurt Firebird e Interbase 2 11-11-2004 04:15:30
Mostrar determinados campos rmnart Firebird e Interbase 1 13-12-2003 00:05:07


La franja horaria es GMT +2. Ahora son las 11:46:58.


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
Copyright 1996-2007 Club Delphi