Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 20:10   #1
Eveda
Новичок
Джуниор
 
Регистрация: 22.04.2012
Сообщений: 1
По умолчанию Запарка с DBDrid

Есть DB Grid, привязанный к Access. Связка через ADOConnection, ADOTable и DataSource. Не работает код сортировки, поиска и фильтрации. Даже при одной заполненной записи выдаёт ошибку "Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом". Пробовала через Query - тоже самое (но с SQL я вообще не знакома). Сос, что делать? Сдача работы через неделю. Всё есть, базу видно, обновляется, записи удаляются и добавляются, копия в Эксель идёт, а эта фигня не работает. Что не так?
Вот код сортировки, фильтра и поиска (с другой базой работает):
.
Код:
..

var a, i:integer; 
.... 

procedure TForm3.Edit1Change(Sender: TObject);  //фильтрация
begin
if Length(Edit1.Text) > 0 then
begin
DataModule7.ADOTable1.Filtered:=false;
DataModule7.ADOTable1.Filter:=Combobox1.Text + ' LIKE ' + #39 + Edit1.Text + '%' + #39;
DataModule7.ADOTable1.Filtered:=true;
end
else DataModule7.ADOTable1.Filtered:=false;
end;

procedure TForm3.Edit2Change(Sender: TObject); //поиск 
begin
if Length(Edit2.Text) > 0 then
begin
DataModule7.ADOTable1.Filtered:=false;
DataModule7.ADOTable1.Filter:=Combobox2.Text + ' LIKE ' + #39 + Edit2.Text + '%' + #39;
DataModule7.ADOTable1.Filtered:=true;
end
else DataModule7.ADOTable1.Filtered:=false;
end;
                        

procedure TForm3.DBGrid1TitleClick(Column: TColumn); //сортировка по колонке
begin
 if a<2 then
    begin
    if i=2 then
    begin
      i:= 1;
      DataModule7.adotable1.Sort:=Column.FieldName + ' ASC';
      DataModule7.adotable1.Refresh;
    end
    else
    begin
      i:= 2;
      DataModule7.adotable1.Sort:=Column.FieldName + ' DESC';
      DataModule7.adotable1.Refresh;
     end;
    a:=a+1;
    end
    else
    begin
    a:=0;
      DataModule7.adotable1.Close;
      DataModule7.adotable1.Open;
      DataModule7.adotable1.Refresh;
    end;
   

end;
Данные в каждой колонке по типу разные, но элементарная сортировка по клику титулки грида должна же работать!

Последний раз редактировалось Stilet; 22.04.2012 в 22:20.
Eveda вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запарка с select нужна момощь serj011 PHP 0 22.04.2010 17:53
Запарка со сравнением текста BRcr Microsoft Office Excel 12 12.02.2010 15:48