Показать сообщение отдельно
  #4  
Старый 28.05.2010, 00:54
Lord Lord вне форума
Прохожий
 
Регистрация: 20.05.2010
Адрес: TLT City
Сообщения: 7
Репутация: 10
По умолчанию

Вид формы


Код процедуры
Код:
procedure TForm_filtr.Button1Click(Sender: TObject);
var s: string;
begin
begin
DataModule4.ADOQuery_student.Active:=False;
DataModule4.ADOQuery_student.SQL.Clear;
DataModule4.ADOQuery_student.SQL.Add('SELECT *');
DataModule4.ADOQuery_student.SQL.Add('FROM student');
if CheckBox1.checked then
s:=s+'name_group like '''+ComboBox1.Text+'''';
if CheckBox2.checked then
s:=s+'data_year_income LIKE '''+ComboBox2.Text+'''';
if CheckBox4.checked then
s:=s+'data_status LIKE '''+ComboBox4.Text+'''';
if CheckBox6.checked then
s:=s+'data_payment_method LIKE '''+ComboBox6.Text+'''';
if CheckBox7.checked then
s:=s+'private_country like '''+ComboBox7.Text+'''';
if CheckBox8.checked then
s:=s+'private_region LIKE '''+ComboBox8.Text+'''';
if CheckBox9.checked then
s:=s+'private_nationality LIKE '''+ComboBox9.Text+'''';
if CheckBox10.checked then
s:=s+'private_sex LIKE '''+ComboBox10.Text+'''';
if CheckBox11.checked then
s:=s+'educ_language LIKE '''+ComboBox11.Text+'''';
if CheckBox12.checked then
s:=s+'educ_level '''+ComboBox12.Text+'''';
if CheckBox13.checked then
s:=s+'data_admission LIKE '''+ComboBox13.Text+'''';
if CheckBox14.checked then
s:=s+'data_enrolled LIKE '''+ComboBox14.Text+'''';
if CheckBox15.checked then
s:=s+'data_certified LIKE '''+ComboBox15.Text+'''';
if CheckBox16.checked then
s:=s+'private_dorm LIKE '''+ComboBox16.Text+'''';
if CheckBox17.checked then
s:=s+'data_scholarship LIKE '''+ComboBox17.Text+'''';
if length(s)>0 then
DataModule4.ADOQuery_student.SQL.Add('WHERE '+s);
DataModule4.ADOQuery_student.Active:=True;
end;

Пояснение
Суть этой фильтрации в том что она может фильтровать не по 15 параметрам сразу, а допустим по 3, 4 (сколько вам нужно). Что бы фильтрация работала по нужному параметру нужно поставить галочку(значение True) на CheckBox
__________________
Windows 7 + Embarcadero RAD Studio 2010
Ответить с цитированием