![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтрация [D6, dBase, FoxPro]
Jey © (2005-01-04 15:11:00)Всем привет! При фильтрации по нескольким условиям вылазит сообщение "Access violation ......". При чем при первой фильтрации все путем, а при второй - ошибка. Я сделал минипрогу для имитации этой фильтрации. Она работает без проблем. Кто знает или может быть кто сталкивался с таким, подскажите.
fmMainForm.tbZakaz.Filter:='DATE = '''+DateToStr(dDate)+
''''+' and IND_BLZ = '''+IndBl+''''+' and TIME = '''+T+'''';
fmMainForm.tbZakaz.Filtered:=True;
msguns (2005-01-04 16:14:00) [1]>Jey (04.01.05 15:22) [2]
>Параметрический запрос не подойдет.... Долго объяснять
А все-таки сделайте одолжение - объясните.
Плохиш (2005-01-04 15:40:00) [2]
>Jey (04.01.05 15:37) [5]
>Какой объект?
Читаем пункт 2 в [3] до прояснения. А ещё изучаем основы объектно-ориентированного программирования.
Desdechado (2005-01-04 15:37:00) [3]попробуй метод OnFilterRecord, в нем больше гибкости
Jey (2005-01-04 15:37:00) [4]Какой объект?
Плохиш (2005-01-04 15:34:00) [5]
>Jey (04.01.05 15:11)
>Всем привет! При фильтрации по нескольким условиям вылазит
>сообщение "Access violation ......".
1. Ошибка совсем не там где ты её ищешь.
2. Обычно для поиска ошибок используется отладчик, а не форум. (К delphimaster это не относится ;-))
3. Ищи, какой объект разрушен.
Jey (2005-01-04 15:22:00) [6]Параметрический запрос не подойдет.... Долго объяснять. Я думаю может при фильтрации по нескольким условиям нужно указывать скобки. Ну типа ()and()and()
msguns (2005-01-04 15:17:00) [7]Скорее всего трабла в неправильном приведении типов данных.
Вместо фильтрации можно использовать параметрический запрос:
1. Быстрее работает
2. RecordCount всегда отражает реальное число записей
3. Нет проблем с типами данных (сам метод Params.AsXXX "разберется" в каком виде засунуть значение параметра в запрос)