Hola,
Estoy empezando a trabajar con ADO, Tengo una Tabla de Access "Elementos.mdb" con 3 campos: "ID", "Nombre" y "Tipo", un ADOQuery1, un DataSource1 y un DBGrid1; mi problema que no entiendo es en esta parte cuando trato de Filtrar por el Campo "Tipo" con el siguiente código:
Código Delphi
[-]
procedure TForm1.Button4Click(Sender: TObject);
begin
ADOQuery1.Active:= False;
if (ADOQuery1.Filter = '') then
begin
ADOQuery1.Filter:= 'Tipo = "Metal"';
ADOQuery1.Filtered:= True;
Button4.Font.Style:= Button4.Font.Style + [fsBold];
end
else
begin
ADOQuery1.Filter:= '';
ADOQuery1.Filtered:= False;
Button4.Font.Style:= Button4.Font.Style - [fsBold];
end;
ADOQuery1.Active:= True;
end;
Este código no me muestra nada, NO FILTRA, es decir solo me muestra un DBGRID VACÍO. En la Línea:
ADOQuery1.Filter:= 'Tipo = "Metal"';
he intentado cambiar las comillas a:
ADOQuery1.Filter:= 'Tipo = Metal';
Pero me lanza error en la última línea:
"Project: Proyecto.exe raised exception class EOleException with message 'Argumentos Incorrectos, fuera del intérvalo permitido o en conflictos con otros'. Process Stopped"
La ConectionString está bien ya que la propiedad Active está en True y puedo ver mi Tabla en el DBGrid.
¿Cómo le hago para mostrar en el DBGrid los registros filtados por "Tipo" correspondientes a "Metal"?