FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
No puedo filtrar por dos campos
Hola muy buenas tardes tengan ustedes...
Estoy haciendo una base de datos donde tengo que filtrar dos campos a la vez pero no puedo y quisisera saber como hacerles, miren, esto es lo que estoy haciendo: procedure TForm1.Edit1Change(Sender: TObject); begin // filtrar o localizar if (not cbFiltrar.Checked) then begin // Busqueda incremental ClientDataSet1.Locate('Campo4', Edit1.Text, [loCaseInsensitive, loPartialKey]); Exit; end else begin // esto sería para filtrar if (Edit1.Text = '') then begin ClientDataSet1.Filtered := false; ClientDataSet1.Filter := ''; end else begin ClientDataset1.Open; ClientDataSet1.Filter := '(Campo4 =' +QuotedStr(Edit1.Text) +') and (Campo5 = '+QuotedStr(Edit2.Text)+ ')'; ClientDataSet1.Filtered := True; end; end; end; y pues nomas no lo filtra.... por favor quien me pueda ayudar se lo agradeceria bastante. |
#2
|
|||
|
|||
jejeje otra preguntota despues de filtrar como le hago para eliminar los otros datos que no coinciden???
gracias |
#3
|
||||
|
||||
Hola,
Bienvenido al Club Delphi, primero que todo siempre aconsejamos a los nuevos usuarios a que revisen la Guia de estilo y que además usen la Búsqueda de los foros
__________________
Web |
#4
|
||||
|
||||
Usar las etiquetas [ delphi ][ /delphi ] sin los espacios...
Ahora... ¿seguro que le estas pasando bien el filtro?
__________________
Web |
#5
|
|||
|
|||
sip.... puedo filtrar solo lo de el edit1 pero lo del edit2 nomas no lo hace... y revise todos los posts que hay y ninguno me ha funcionado....como le puedo hacer...eske hagan de cuenta que filtra el primer edit pero el segundo no lo filtra de la misma tabla
|
#6
|
|||
|
|||
Cita:
A que te refieres con que filtra el primero edit y el segundo no, por lo que veo solo que un registro tenga los dos valores te lo va a mostrar, no uno u otro Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#7
|
|||
|
|||
Hao!
mira eske por ejemplo si pongo solo: ClientDataSet1.Filter := ('Campo4 =' + QuotedStr(Edit1.Text) ); me muestra lo que voy filtrando del edit pero no se como hacerle para que agarre el filtro del segundo edit ya le trate de mil maneras y naaaa pero aunque lo deje como está arriba hace lo mismo me filtra solo lo del primer edit |
#8
|
|||
|
|||
Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#9
|
|||
|
|||
ok mira:
tengo varios campos que se llaman: campo2,campo3,campo4,campo5 respectivamente y lo que quiero hacer es filtrar lo que viene en el campo4 para despues aplicar otro filtro para campo5 pero que sin se quite el filtro de campo4.....por ejemplo: aplico filtro a campo4 (filtro Edit1 funciona correctamente) selecciona: Ing. Industrial aplico filtro a campo5 (filtro Edit2 ??) seleccion: Quimica I por lo que quedaria en la tabla Ing. Indutrial Quimica blabalbal no se si me de a entender gracias |
#10
|
|||
|
|||
Cita:
Lo que tu necesitas es un ordenamiento por el campo4 y despues por el campo5, pero eso no lo vas a poder hacer con una Tabla, que me imagino estas usando, para esos menesteres necesitas una sentencia SQL mas o menos de esta forma
A ver si así obtienes lo que necesitas. Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#11
|
|||
|
|||
Una molestia del tamaño del mundo no me podrias explicar paso por paso??
eske soy novato en bases de datos, mira: estoy jalando el archivo a una DBgrid desde microsoft access y de ahi empieza el show asi es...eske la vvd no se a que te refieres con tabla muchas gracias y perdon por la molestia |
#12
|
|||
|
|||
Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#13
|
|||
|
|||
TADOQuery=ADOQ(nombre)
TDataSetProvider=DSProvider(nombre) TClientDataSet=ClientDataSet1(nombre) TDataSource=DataSource1(nombre) ClientDataSet1: TClientDataSet; DataSource1: TDataSource; DBGrid1: TDBGrid; Edit1: TEdit; Label2: TLabel; StatusBar1: TStatusBar; ADOQ: TADOQuery; DSProvider: TDataSetProvider; lblData: TLabel; cbFiltrar: TCheckBox; parte del codigo: [/delphi] procedure TForm1.Edit1Change(Sender: TObject); begin // filtrar o localizar if (not cbFiltrar.Checked) then begin // Busqueda incremental ClientDataSet1.Locate('Campo4', Edit1.Text, [loCaseInsensitive, loPartialKey]); Exit; end else begin // esto sería para filtrar if (Edit1.Text = '') then begin ClientDataSet1.Filtered := false; ClientDataSet1.Filter := ''; end else begin ClientDataset1.Open; ClientDataSet1.Filter := ('Campo4 =' + QuotedStr(Edit1.Text) ); ClientDataSet1.Filtered := True; end; end; end; procedure TForm1.FormShow(Sender: TObject); var path:string; begin Path := ExtractFilePath(Application.ExeName) + 'Data11.xml'; // Existe el XML? if FileExists(path) then begin ClientDataSet1.LoadFromFile(path); lbldata.Caption := ExtractFileName(path); Exit; end; // Probar con el MDB Path := ExtractFilePath(Application.ExeName) + 'Data.MDB'; // Existe el MDB? if FileExists(path) then begin ClientDataSet1.ProviderName := 'DSProvider'; ADOQ.Open; ClientDataSet1.Active := True; ADOQ.Close; ClientDataSet1.ProviderName := ''; lbldata.Caption := ExtractFileName(path); Exit; end; // Si llega aqui es que no existe ninguno de los dos. MessageDlg('No se ha encontrado ninguna fuente de datos; Data.XML o Data.MDB', mtWarning, [mbOK], 0); end; muchisimas gracias.. |
#14
|
|||
|
|||
alguien que me pueda ayudar???? ya lo intente de muchisimas formas y nadae perdon por la molestia pero la verdad no se mucho de bases de datos es la primera vez que hago una
gracias |
#15
|
||||
|
||||
La condición esta mal. Ponle >= y <=
Te Explico si es (igual Edit1.text) no podra ser (igual a edit2.text) Asi es que lo que tienes que hacer es, poner entre rangos osea: de 1 a 100 solo quiero de 10 a 20 seria asi if (>= 10) and (<= 20) then ... Lo mismo con los flitros. Saludos Última edición por RebeccaGL fecha: 16-10-2008 a las 16:28:58. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Filtrar tabla por dos campos | Sayuri | Conexión con bases de datos | 12 | 10-10-2010 17:02:03 |
Filtrar Tquery con campos calculados | nelem | Internet | 0 | 19-05-2008 09:15:46 |
Filtrar por Campos Calculados | dandia28 | Conexión con bases de datos | 2 | 02-05-2008 21:32:46 |
Filtrar campos DateTime | MARYLOSO | Impresión | 5 | 02-02-2007 20:23:18 |
filtrar campos lookup | allende | Conexión con bases de datos | 2 | 08-12-2003 19:17:34 |
|