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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-08-2005
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Campo Memo en bases de datos Access

Buenas.

Estoy intentando currarme un programa de bases de datos.... supongo que bastante sencillo para lo que se habrán tenido que enfrentar otros integrantes del club.

La base de datos está hecha en MSAccess, y tiene dos tablas: Vendedoras y Clientas.

En la tabla de Clientas hay un campo llamado "Regalos", donde ha de contener los regalos que ha recibido dicha clienta como comisión por una venta. El caso es que la longitud del campo puede ser mayor a 255 carácteres, por lo que ponerlo como Texto no me vale.

Había pensado en ponerlo como Memo, pero no se implementarlo al hacer el post de datos... ni que en un DBGrid me muestre el camo en vez de '(memo)';

Muchísimas gracias, aunque se solamente por haberme leido
__________________
:)
Responder Con Cita
  #2  
Antiguo 29-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Para editar campos Memo tendrás que usar el control DBMemo. También podrás usar para modificar los datos de un campo Memo:

- el método "FieldByName" o la propiedad "Fields" del DataSet
- la propiedad "Value" del mismo campo Memo.

(Es decir, los campos Memo son tratados igual que cualquier campo normal)

En un DBGrid no podrás editar los campos Memo pero si podrás hacer que aparezca el contenido en vez de "(memo)". Para ello has de especificar en el evento "OnGetText" del campo Memo el valor para el mismo campo, por ejemplo:

Código Delphi [-]
procedure TDataModule1.ClientDataSet1ObservacionesGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  Text := ClientDataSet1Observaciones.Value;

  // Otra alternativa: Text := ClientDataSet1.FieldByName('Observaciones').AsString
end;

(La única limitación es que no te interpretará los saltos de línea, etc., por eso es mejor usar el DBMemo para visualizar estos campos)

Saludos!

Última edición por jmariano fecha: 29-08-2005 a las 20:12:22.
Responder Con Cita
  #3  
Antiguo 29-08-2005
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Aja, muchísimas gracias jmariano, ya puedo implementar el campo tranquilamente
__________________
:)
Responder Con Cita
  #4  
Antiguo 29-08-2005
Alfredo Alfredo is offline
Miembro
 
Registrado: nov 2003
Ubicación: Valencia, Venezuela
Posts: 234
Poder: 21
Alfredo Va por buen camino
tambien...

Como te comenta el compañero, puedes visualizar como texto el contenido de un campo memo el el grid...

Yo lo tengos configurados asi y puedo editarlos tambien:

Código:
procedure TForm1.q1memoGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);

Text:= Trim (Sender.asString);

end;

Código:
procedure TForm1.q1MemoSetText(Sender: TField; const Text: String);
begin

 Sender.AsString:=Text;
end;
__________________
if Vivir = Vivir + Aprender then Aprender = ?
Alfredo Borges
Responder Con Cita
  #5  
Antiguo 29-08-2005
Alfredo Alfredo is offline
Miembro
 
Registrado: nov 2003
Ubicación: Valencia, Venezuela
Posts: 234
Poder: 21
Alfredo Va por buen camino
y como Tmemo:::

Si ademas:

Código:
//...
cadena := editNombre.Text+', '+editApellido.Text;

    //esto añade nombre y apellido desde Tedit a una variable  
    // y se guarda en mayusculas y sin saltos de parraro en el Memo1.
Form1.Memo1.Text:= form1.Memo1.Text+AnsiUpperCase(trim(cadena))

    // si se usa en metodo ADD, lo guarda en otra linea...jeje
    //asi se guarda en la tabla con campos persistentes:

tablaPersonajes.value := Form1.Memo1.Text;
__________________
if Vivir = Vivir + Aprender then Aprender = ?
Alfredo Borges
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 14:28:16.


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