Club Delphi  
    Paypal   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

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 11-12-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Al parecer, requieres algo distinto a lo que yo propongo.

El botón Aceptar no debe enviar nada a ningún Form. El Form que invoca el frame, será el responsable de capturar los datos.

Lo más cómodo, crear en el Frame un par de propiedades, esto hará mucho más legible el código cuando usemos el frame en todas las ventanas.
Código Delphi [-]
type TAgente = Class(TFrame)

private
  function GetCodigo:integer;
  procedure Setcodigo(Value:integer);
  function GetAgente:string;
public
   property Codigo: integer read GetCodigo write SetCodigo;
   property Agente: string read  GetAgente; // propiedad de solo lectura
end;

implementation

function TAgente.GetCodigo:integer;
begin 
  Result := tblClientes.Fieldbyname('codigo').Asinteger;
end;

procedure TAgente.SetCodigo(Value :integer);
begin
  tblClientes.Open; // debe estar abierta la tabla antes de buscar
  if Value <> GetCodigo then
  begin 
     if not tblcliente.locate('codigo', value, []) then
        ShowMessage('No se encuentra el agente con código ' + inttostr(Value));
  end;

function TAgente.GetAgente:string;
begin
  Result := tblCliente.fieldbyname('Nombre').AsString;
end;

Esto es algo más complejo de lo que has pedido, pero lo necesitarás.

Lo que he hecho es definir 2 propiedades que tendrán los datos del agente elegido en el grid, además doy la posibilidad de que muestre un agente seleccionado al mostrar el frame.

por ejemplo: Toda venta de un negocio, tiene asociado un "Agente de venta", bien, desde una ventana "Ventas" quiero mostrar el frame y seleccionar el agente de código 20:

"F" es un frame TAgente puesto en la ventana "ventas".
Código Delphi [-]
procedure Tventa.Button1Click(...);
begin 
  F.Codigo := 20; 
end;

Si ahora en la ventana de ventas, queremos saber qué agente hay seleccionado en el frame:
Código Delphi [-]
procedure Tventas.TablaVentasBeforePost(....);
begin
  tablaVentas.CodigoAgente := F.Codigo; 
  label1.caption := F.Agente;  // el nombre del agente no sé que hacer con él
  // lo pongo en un label 
end;

Saludos y espero se entienda, si no, dime cualquier cosa Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
 



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
Devolver foco desde Form No Modal al control llamante gluglu Varios 8 22-06-2007 08:35:41
continuacion a ¿quien llamo a mi form? FGarcia Varios 3 19-06-2007 23:50:44
¿Quién llamó mi form? dape OOP 7 13-04-2006 02:24:59
problema para devolver 2 valores en una funcion tiagor64 OOP 4 06-05-2005 15:38:59
Llamar a un Form y que devuelva valores i.larranaga OOP 2 31-05-2004 16:42:01


La franja horaria es GMT +2. Ahora son las 09:33:44.


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