|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
База фильтруется в XP но не фильтруется в Windows2000
Пожалуйста помоги не знаю что делать.
Сделал проект в delphi с БД access связал технология ADO сделал там фильтрации сортировки форму печати отчета.На XP на 7 в институте все работает включили на windows 2000 фильтрация перестала работать и не выводит на печать там тоже проходит фильтрация и она прерывает процесс все остальное нормально в базу значения добавляются удаляются изменяются сортируются но не фильтруется и выдает ошибку Аргументы имеют неверный тип, или выходят за пределы допустимого диапазона или вступают в конфликт друг с другом. Подскажи пожалуйста что это такое и как это исправить. Программа на всякий случай в архиве. |
#2
|
||||
|
||||
Возможно проблема в разных настройках региональных параметров, а именно представление даты.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Мы меняли в настройках 2000 дату там запятые но это не помогло что можно сделать может фильтры переписат они у меня не SQL а adodataset.filter.....?
|
#4
|
||||
|
||||
Ну архив вы все-же прикрепите, как писали выше. Посмотрим
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
Скомпелируйте только его а то он не умещался в архив
|
#6
|
|||
|
|||
Извините я подумал и переделал немного фильтр не может ли в этом быть ошибка.
Если я забиваю данные не из под программы написанной а напрямик через Aсcess то в последствии в программе в гриде я вижу цифры.может во время фильтрации в win2000 обращаясь к базе види числа а не тексте поэтому я переделал фильтр чтоб он фильтровал не по тексту а по kontrid. |
#7
|
||||
|
||||
В общем я склоняюсь тоже к тому что лучше ограничения через запросы сделать с явным указанием параметра как даты. Вот не нравится мне тоже такая ваша запись фильтра:
Код:
datamodule2.ADODataSet4.Filter:='(Date>='+s+') and (Date<='+a+') and ('+kon+')'; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#8
|
|||
|
|||
Вы уж меня простите я мало работаю с запросами если я перепишу фильтр и отфильтрую данные а потом добавлю новое не будет такой проблемы что она не отобразиться?Извините если глупый вопрос.
и запрос будет что то типа select поля from baza where date>='+s+' and Date<='+a+' and ('+kon+')'; это мой диплом и на занятиях нам SQL дали теорией так что я сам изучаю. Большое спасибо что вы меня выслушали и помогаете! И скажите пожалуйста какую БД лучше использовать и какую технологию соединения чтоб я знал что нужнее знать.Заранее спасибо! Последний раз редактировалось казантип, 17.10.2011 в 21:36. |
#9
|
||||
|
||||
Да ничего страшного, для освоения Акцеса и ADO вполне достаточно. Ну вот есть у Акцеса такой нехороший момент при работе с датами, идеальных БД просто нет, где-то как-то можно наступить на грабли. Просто надо это иметь ввиду и все.
А запросом с параметрами будет примерно так: AdoQuery1.SQL.Text := 'select поля from baza where date >= :BDate and Date <= :EDate'; а еще лучше так: AdoQuery1.SQL.Text := 'select поля from baza where date between :BDate and :EDate'; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#10
|
|||
|
|||
Решение нашлось спасобо всем и друзьям пишу для тех кому когда нибудь это пригодится. Использовал обект ADOdataSet и вместо свойства фильтр написал процедуру с SQL в comandtext. проблема была еще в том что дата в Access фильтруется не 12.12.2001 а 12/12/2001 поэтому пришлось делать переменную текст и менять знаки.Спасибо всем за помощь!
|