Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   comparar un campo memo=empty? (https://www.clubdelphi.com/foros/showthread.php?t=42848)

NSL94 24-04-2007 18:31:43

comparar un campo memo=empty?
 
uolas,
soy nuevo en esto del delphi, y no consigo encontrar la manera de comparar un campo memo para saber si esta vacio. es decir lo que busco seria el equivalente de esto:

if campotexto.text=' ' then

pero para un campo memo.
si ya se que es muy basico, y espero no desatar demasiadas risas ;)
si alguien me puede ayudar, muchas gracias de ante mano.
1 saludo! :D

ContraVeneno 24-04-2007 18:40:24

¿y cuál es el problema con esa instrucción que pusiste?

a mi me funciona perfectamente
Código Delphi [-]
 if Trim(campotexto.text)='' then
 showmessage('vacío');

NSL94 24-04-2007 18:43:41

Que esto funcciona para un campo texto no para un campo de tipo Memo.
ademas me exprimi mal, me hace falta el codigo para aplicar un filtro, es decir tipo sql
que para el campo texto seria lo siguiente:
filtro:='TAREA_PENDIENTE<>''''' que vendria a poner el filtro a tarea_pendiente<>''
pero claro un campo memo no es un string, y no me deja comparar.

litaralmente lo que quiero sacar es esto para un campo memo
filtro:='campomemo<>empty'

ContraVeneno 24-04-2007 18:47:58

Yo lo estoy probando con un memo y si funciona.

Incluso funciona si haces:
Código Delphi [-]
if length(trim(memo.text))=0 then
 showmessage('vacío');

....

if trim(memo.text)='' then
 showmessage('vacío');

Revisando la instrucción que tienes, estas comparando el memo con un espacio en blanco. Es decir, tienes:

Código Delphi [-]
 
if campotexto.text=' ' then
...
if campotexto.text='b' then
...
if campotexto.text='' then

tienes un espacio en blanco entre los apóstrofes. Cuando debería de ser:

Código Delphi [-]
  if campotexto.text='' then

ContraVeneno 24-04-2007 18:52:31

vamos a ver... parece que ando medio confundido....

si quieres comprar un campo de una base de datos:

Código Delphi [-]
with TuDataset do begin
 ...
 if Trim(FieldByName('TUCampoMemo').AsString)='' then
 ...
 ...
end; //with

ContraVeneno 24-04-2007 18:55:12

¿que manejador de base de datos estas utilizando?

NSL94 24-04-2007 19:07:30

... ya si a eso llego. ;)
estoy programando en una plataforma un poco chunga, se llama quo.
usa codigo delphi.

1) a ver lo que quiero hacer es aplicar un filtro a una tabla.
2) para este filtro me hace falta pasarle en el campo filtro de esta tabla una sentencia sql.
3) esta sentencia debe de filtrarme y devolverme todos los registros que tengan el campo X de tipo memo vacio.
4) yo cuando lo hago para un campo de tipo texto lo hago de la siguiente manera: --- filtro:='NOMBRECAMPOTEXTO<>''''' ---- 5' para que al final la sentencia sea= ---- NOMBRECAMPOTEXTO<>''
5) tomatelo como si quiecieras poner un where en una sentencia sql que diga donde campomemo no este vacio. o no = a empty, null, o lo que sea :D

te pongo la sentencia exacta que le pondria si fuera un campo texto a ver si te situas:

table_QUO.close;
table_QUO.filter:='CAMPOTEXTO<>''''';
table_QUO.filtered:=true;
table_QUO.open;

aqui se estableceria el filtro a CAMPOTEXTO<>'' y solo me devolveria los registros dnd el campotexto no estubiera vacio.
pues bien me hace falta exactamente lo mismo para un campo memo.

ContraVeneno 24-04-2007 19:14:05

Pues no conozco a Quo y no encuentro referencias en al red a este manejador.

Lo único que te podría recomendar es que revisaras la ayuda de tu manejador para ver si te permite utilizar campos memo en los filtros.

Te digo esto porque por ejemplo: SQL Server no te permite utilizar campos tipo Text en filtros o sentencias Where.


La franja horaria es GMT +2. Ahora son las 06:41:23.

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