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 29-11-2012
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Asignar propiedad radio en campo boolean

Hola amigos:

Tengo en una tabla de una base de datos Access un campo boolean (Sí/No) y necesito que al chequear uno de los registros en un DBGrid el resto de los registros automaticamente queden uncheked, similar a la propiedad radio de un radiogroup.
¿Es posible?
Utilizo D2007
Saludos y muchas gracias por sus aportes.
Responder Con Cita
  #2  
Antiguo 29-11-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo la relacion del campo con lo demas ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 29-11-2012
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 radenf.

No conozco la sintáxis de Access, pero proba de este modo:
Código Delphi [-]
 with QryTmp do
  begin
    Close;
    SQL.Clear;
    SQL.Add('UPDATE TABLA SET CPO_BOOLEAN = (');
    SQL.Add('CASE WHEN (ID = :PID) THEN TRUE ELSE FALSE END)');
    ParamByName('PID').Value:= tuValor_ID; // Por ej: el actualmente seleccionado
    ExecSQL;
  end;

Si no soporta el modo anterior, de este tendría que funcionar:
Código Delphi [-]
  with QryTmp do
  begin
    Close;
    // Todos los campos en falso
    SQL.Text:= 'UPDATE TABLA SET CPO_BOOLEAN = FALSE';
    ExecSql;
    // El campo deseado en true
    SQL.Text:= 'UPDATE ATABLA SET CPO_BOOLEAN = TRUE WHERE ID = :PID';
    ParamByName('PID').AsString:= tuValor_ID; // Por ej: el actualmente seleccionado
    ExecSql;
  end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 29-11-2012
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Muchas gracias ecfisa .
Voy a probar y te cuento.
Saludos
Responder Con Cita
  #5  
Antiguo 29-11-2012
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Utilizé el siguiente código en el evento OnClick del CheckBox (Con False como default)

Código Delphi [-]
with QueryServ do
  begin
    Close;
    // Todos los campos en falso
    QueryServ.SQL.Text:= 'UPDATE Servidores SET ACTIVO = FALSE';
    ExecSql;
    // El campo deseado en true
    QueryServ.SQL.Text:= 'UPDATE Servidores SET ACTIVO = TRUE WHERE ID = :PID';
    QueryServ.Parameters.ParamByName('PID').Value:= serverbox.Checked; // Por ej: el actualmente seleccionado
    ExecSql;

y me entrega el siguiente error:

No se han especificado valores para algunos de los parámetros requeridos.
---------------------------
Aceptar
---------------------------
Responder Con Cita
  #6  
Antiguo 29-11-2012
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 radenf.

Como te dije anteriormente no manejo Access, pero en este [enlace] se trata un error parecido, y los masters Caral y egostar hacen unas observaciones interesantes al respecto. Tal vez te pueda ayudar a resolverlo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 29-11-2012
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
No funciona.
Exploraré otras opciones.
Muchas gracias
Salu2
Responder Con Cita
  #8  
Antiguo 16-08-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Finalmente logré lo que buscaba.
Utilizé el siguiente código en la propiedad OnCheckBoxChange del TMS AdvDBGrid, al hacer click en la primera columna, que corresponde a un campo booleano.

Código Delphi [-]
begin
if (ACol= 1) then
begin
QueryServ.Close;
QueryServ.SQL.Text:= 'Select * from Servidores';
QueryServ.SQL.Text:= 'UPDATE Servidores SET ACTIVO = FALSE';
QueryServ.ExecSql;
Data1.TablaServidores.Refresh;
DBAdvGrid3.Update;

Saludos y ojalá a alguien más le pueda servir.
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
como asignar letra del teclado a radio buttons en delphi 2010 RedVenom Varios 7 20-03-2010 07:17:05
asignar letra a radio button RedVenom Varios 8 02-12-2008 13:44:04
Asignar la propiedad de un DBLookupCombobox JoanKa Varios 2 23-05-2006 18:14:02
asignar un String a la propiedad Sql de un AdoQuery gulder Conexión con bases de datos 1 09-11-2005 16:23:31
propiedad boolean en vcl cuscus OOP 2 24-05-2005 16:27:03


La franja horaria es GMT +2. Ahora son las 01:55:03.


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