Hola, no has puesto bien las etiquetas delphi de esa forma tu codigo no se entiende casi nada.
Así quedaría tu codigo con las etiquetas:
Código Delphi
[-]
procedure TForm7.btn1Click(Sender: TObject);
begin
Form7.vendedor.Locate('vendedor', Form7.cbb1.Text,[loCaseInsensitive, IoPartialKey]);
try
QuickReport1:=TQuickReport1.Create(self);
QuickReport1.clientes.SQL.Add('WHERE clientes.id_vendedor = '+
Form7.vendedor.FieldByName('id_vendedor').AsString+
' AND clientes.activado BETWEEN :'+Form7.medt1.Text+' AND :'+FORM7.medt2.Text);
QuickReport1.clientes.Open;
QuickReport1.Preview;
finally
QuickReport1.Free;
end;
end;
Lo que veo, tu codigo esta en el form7, por lo que ya no necesitas referenciar a Form7, el Locate supongo que lo utilizas para ver si existe el vendedor, si existe aumentas a tu consulta la parte del Where y muestras tu reporte, si es así entonces falta un if, también veo que esta demas los : de tu between.
Tu codigo quedaría así:
Código Delphi
[-]
procedure TForm7.btn1Click(Sender: TObject);
begin
if vendedor.Locate('vendedor', cbb1.Text,[loCaseInsensitive, IoPartialKey]) then
begin
try
QuickReport1:=TQuickReport1.Create(self);
QuickReport1.clientes.SQL.Add('WHERE id_vendedor = '+
vendedor.FieldByName('id_vendedor').AsString+' AND activado BETWEEN '+
medt1.Text+' AND '+medt2.Text);
QuickReport1.clientes.Open;
QuickReport1.Preview;
finally
QuickReport1.Free;
end;
end
else
Showmessage('No existe el vendedor');
end;
Saluditos