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 17-06-2003
Producto77 Producto77 is offline
Miembro
 
Registrado: jun 2003
Posts: 35
Poder: 0
Producto77 Va por buen camino
Angry Filtro y null

Hola a tod@s:
Mi problema es q tengo una tabla con dos campos Proveedor y Obrero. El caso es que quiero filtrar la tabla para que me muestre solo los registros que tenga valor en Proveedor, o los que tienen valor el Obrero.
He pensado en filtrar la tabla tal que
tb.Filter := 'Proveedor is null' //cuando quiero ver los obreros.
y
tb.Filter := 'Obrero is null' //cuando quiero ver los proveedores.
............pues no funciona el filtro, me muestra todos los registros.

alguien puede ayudarme?

gracias de antemano.
Responder Con Cita
  #2  
Antiguo 17-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

¿Has puesto la propiedad Filtered a TRUE?
__________________
Guía de Estilo
Responder Con Cita
  #3  
Antiguo 17-06-2003
Producto77 Producto77 is offline
Miembro
 
Registrado: jun 2003
Posts: 35
Poder: 0
Producto77 Va por buen camino
Si, está puesta a true. Yo creo que el problema está en los tres posibles valores que pueden tener,,,los campos son de tipo integer y pueden ser nulos.
es decir:
1º null
2º (vacio)
3º un integer
esto no me pasaba con delphi5, ahora con el 7 si.
Responder Con Cita
  #4  
Antiguo 17-06-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Intrigado por tu pregunta acabo de hacer una prueba en D5 y D7, me he creado una tablita Paradox, y le he colocado un campo texto y tres de tipo entero, uno de ellos lo he llamado Otro, que es el que utilizo para la prueba.

Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Filter:='Otro is null';
Table1.Filtered:=True;
end;
Todo funciona correctamente, en campos numéricos que yo sepa vacio y nulo es lo mismo, 0 no es nulo.

Por lo tanto con el filtro me muestra todos los campos que están vacios, sea porque lo estuvieron siempre o sea porque yo he borrado el contenido antes de hacer el filtro.

Un Saludo.
Responder Con Cita
  #5  
Antiguo 17-06-2003
Producto77 Producto77 is offline
Miembro
 
Registrado: jun 2003
Posts: 35
Poder: 0
Producto77 Va por buen camino
Se me olvidó decirte que la base de datos es InterBase, y cuando utilizo Marathon para ver los registros tengo campos con valor <null> otros que no pone nada (vacios) y otros con el integer.
Responder Con Cita
  #6  
Antiguo 17-06-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Prueba con esto otro a ver:
Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Filter:='Otro = null';
Table1.Filtered:=True;
end;
Un Saludo.
Responder Con Cita
  #7  
Antiguo 17-06-2003
Producto77 Producto77 is offline
Miembro
 
Registrado: jun 2003
Posts: 35
Poder: 0
Producto77 Va por buen camino
Gracias por el interes prestado,,, espero poder ayudarte alguna vez,,, si mi corta experiencia me lo permite.

Gracias x 10000
Responder Con Cita
  #8  
Antiguo 18-06-2003
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Poder: 21
Cabanyaler Va por buen camino
Si, todo está muy bien, pero en lugar de utilizar filtros que ralentizan exageradamente el sistema, ¿pq no utilizamos una vista o una simple SQL?.
Digo yo, vamos.....
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.
Responder Con Cita
  #9  
Antiguo 19-06-2003
mariajoiz mariajoiz is offline
Miembro
 
Registrado: may 2003
Ubicación: valencia
Posts: 13
Poder: 0
mariajoiz Va por buen camino
Hola,

esto no es una respuesta, más bien otra pregunta.

Es cierto que los filtros ralentizan, pero como con SQL no puedo actualizar

¿En qué consiste una vista?, y es posible actualizar los datos en la vista?
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


La franja horaria es GMT +2. Ahora son las 06:47:10.


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