![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Найти далее и др. [D6, Access (ADO)]
serko © (2006-08-06 15:16:00)Доброе....
Я вот перехожу постепенно с Paradox на Access. И вот первый вопрос:
Возможно ли как-то осуществить процедуру "найти далее"?
MsGuns (2006-08-09 16:37:00) [1]Универсальный (в смысле по любой колонке или колонкам) способ поиска "вперед-назад" - это простое сканирование.
Против "тормозов" единственное радикальное средстао - не тащить с сервера тысячи записей, внеся с клиентский интерфейс логику выбора нужного подмножества БД.
Чтобы не "дергать" отображаемый датасет, поиск можно выполнять в его клоне и, обнаружив искомое, в отображаемом датасете локэйтиться на соответсвующую запись по ее идентификатору.
serko (2006-08-08 22:42:00) [2]Оказалось это не у меня хрень, а на том компе глюки! Sorry....
stealth (2006-08-08 14:22:00) [3]Удалено модератором
serko (2006-08-07 23:49:00) [4]Что за х.. получается! Я заменил компонент ADOTAble на ADOquery и на другом компе не стало работать (а у меня все ок)?
При попытке ADOQuery.Open; пишет "Неопознанная ошибка"!
Что это? куда копать?
serko (2006-08-07 21:49:00) [5]
> > так уж и быть куплю
> типа ты нам одолжение делаешь?
Ниче подобного! Просто как по мне рыться в инете, спрашивать у всех не дает ни каких результатов. Лудше взять и все по порядку выучить!
Жду название и автора книги, которая по вашему мнению наиболее полезна в разработке баз данных!
Desdechado (2006-08-07 11:12:00) [6]> так уж и быть куплю
типа ты нам одолжение делаешь?
Почитать об SQL можно в справке той СУБД, которую используешь.
По поиску. Не путай поиск (позиционирование на нужной строке) и отбор (выбор только тех строк, которые тебе нужны). При 30 тыс. строк ты явно отбором не занимался. Это делается через SELECT.
Когда у тебя будет видно 100-200 строк, то можнопереходить к позиционированию через Locate или перебором строк с проверкой условия. На таких объемах это уже быстро.
serko (2006-08-06 22:50:00) [7]Ну а все же где можна подробно прочитать о SQL.
Ну или книжку хорошую по БАЗАМ ДАННЫХ посоветуйте, так уж и быть куплю!
Anatoly Podgoretsky (2006-08-06 20:52:00) [8]serko © (06.08.06 20:23) [9]
Акцесс не требуется, а требуется установленый JET, который исключен из MDAC
serko (2006-08-06 20:23:00) [9]Ну так скажите как правильно?
Я понимаю что абсолютно на всех компах не реально сделать! Но мне хотя бы для стандарных, т.е. у которых Access уже стоит!
И понятно что База на каждом компе может лежать в совсем другом месте по сравнению с моим! Вот это я и пытаюсь исправить через ConnectionString путем вычисления места нахождения базы.
Как же тогда до запуска или при запуске (OnCreate главной формы) в ConnectionString указать истинный путь базы?
> http://www.firststeps.ru/mfc/ado1.html
Как раз тут страница с поиском данных не открывается!
Anatoly Podgoretsky (2006-08-06 18:42:00) [10]serko © (06.08.06 17:40) [5]
Акцесс и чтобы на всех компьютерах, это фантастика сынок.
Ну а насчет Access violation при таком коде, с глобальными переменными, с ADOTable с ConnectionString без TAdoConnection - оно и не удивительно.
KilkennyCat (2006-08-06 17:44:00) [11]http://www.firststeps.ru/mfc/ado1.html
KilkennyCat (2006-08-06 17:42:00) [12]Вероятно, на другом компьютере чего-то нехватает, настроек, библиотек...
serko (2006-08-06 17:40:00) [13]Хорошо на счет SQL подумаю! Может подскажите ссылочку где можна почитать ою этом?
вставил такой код в OnCreate главной формы:
MDB:=ExtractFileDir(Application.ExeName)+'\Table\Servis.mdb';
Form9.AdoTable1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+MDB+';Persist Security Info=False';
Form9.ADOTable1.Active:=true;
Ну чтобы при открытии активизировалась и БАЗА. И чтобы эта прога работала на любом компе! Но при запуске проги выскакивает ошибка: 'Access violation.....
Что не так?
Virgo_Style (2006-08-06 17:27:00) [14]использовать SQL
serko (2006-08-06 17:12:00) [15]С запуском проги разобрался!
А вот с поиском жду ответа....
И еще можна ли как-то ускорить поиск? У меня около 30000 записей и через Locate он долго ищет!
serko (2006-08-06 16:01:00) [16]Ну я знаю ADOTable1.Locate(), но он ищет с начала таблицы! какой еще есть?
Упс еще один вопрос! Почему прога с Access не запускается на другом компе?
KilkennyCat (2006-08-06 15:29:00) [17]тот же поиск, но с позиции последнего найденного.