Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2011
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
Question Saber que componente apunta a cada campo de una tabla

Hola amigos estoy ampliando la funcionalidad de una aplicación y entre las cosas que le estoy agregando quiero que para los campos que estan marcados como requeridos el componente asignado (dbedit, dbcheckbox, dbmemo, etc) aparescan en otro color, me podrian decir si hay una forma para desde ni componente tabla (pFIBDataSet ya que uso las FIBPlus) y el DataSource puedo llegar al DBEdit, DBCheckBox o al componente correspondiente segun sea el caso

Gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita
  #2  
Antiguo 25-03-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Cómo indicas que es un campo requerido?
Responder Con Cita
  #3  
Antiguo 25-03-2011
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Amigo jzginez,

Dentro del dataset, cuando utilizas campos persitentes, estos traen las proiedades de los campos definidos físicamente en la BD... Tamaño, tipo y por supuesto si es requerido o no... algo como:

Código Delphi [-]
Table1NOMBRE_CAMPO: TStringField

if Table1NOMBRE_CAMPO.Required = true then

Espero que te sirva
Responder Con Cita
  #4  
Antiguo 25-03-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por jzginez Ver Mensaje
me podrian decir si hay una forma para desde ni componente tabla (pFIBDataSet ya que uso las FIBPlus) y el DataSource puedo llegar al DBEdit, DBCheckBox o al componente correspondiente segun sea el caso
Creo que estás enfocando el problema alrevés. Porque recuerda que a un mismo campo puede estar conectado más de un control. Así que, en realidad, tendrías que partir de cada control y examinar la propiedad Required del campo asociado:

Código Delphi [-]
if DBControl.Field.Required then
  ...

// Saludos
Responder Con Cita
  #5  
Antiguo 25-03-2011
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.

Opino igual a lo dicho por román.

Podrías hacer algo como:
Código Delphi [-]
procedure TForm1.RequeridosEnRojo;
var
  i: Integer;
begin
  for i:= 0 to ComponentCount - 1 do
  begin
    if (Components[i] is TDBEdit)and TDBEdit(Components[i]).Field.Required then
        TDBEdit(Components[i]).Font.Color:= clRed;
    if (Components[i] is TDBMemo)and  TDBMemo(Components[i]).Field.Required then
        TDBMemo(Components[i]).Font.Color:= clRed;
    ...
    ...
  end;
end;

Estuve intentando algo con RTTI, pero no salió tan rápido como esperaba ,luego probaré nuevamente...

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 25-03-2011 a las 21:12:50.
Responder Con Cita
  #6  
Antiguo 28-03-2011
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
Hola a todos gracias por su respuesta

Cita:
Casimiro
¿Cómo indicas que es un campo requerido?
presisamente como comenta gatosoft es como llevo el control de los campos requeridos, adicionalmente como quiero que el usuario pueda decir que otros campos son obligatorios (p/e: ahorita en México por lo de la faturación electronica el campo de correo electronico en la tabla de clientes) cree una tabla donde guardo el nombre del campo requerido y la tabla a la que pertenece y así antes de abir la tabla de clientes le cambio la propiedad al campo correspondiente

Cita:
roman y ecfisa
Creo que estás enfocando el problema alrevés. Porque recuerda que a un mismo campo puede estar conectado más de un control. Así que, en realidad, tendrías que partir de cada control y examinar la propiedad Required del campo asociado
Presisamente es lo que intentaba hacerlo al reves ya que según yo seria mas facil sabiendo que campo es requerido de alguna forma me listara todos los componentes que esten ligaos a este campo sin importar el tipo

Gracias por el código ecfisa el que yo estaba metiendo lo tenia mas complicado que el que tu tienes, usare el tuyo gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
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
Saber si existe una tabla o campo en la BD juanelo SQL 1 10-01-2008 19:45:03
Como saber el tipo de datos de un campo de una tabla Javi2 SQL 1 27-06-2005 14:18:28
Saber si existe un campo en una tabla Investment Tablas planas 2 27-05-2005 09:50:02
Saber si existe un campo en una tabla. BECERRA OOP 1 01-07-2004 10:07:28
Saber si un Tabla(dataset) esta siendo usado por otro componente cacuna OOP 3 26-05-2004 18:21:43


La franja horaria es GMT +2. Ahora son las 19:17:28.


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