|
|
|
| А объясните мне, каким рекордсетом лучше пользоваться: DAO или ADODB.
Просто я никогда не присваиваю эти объекты, а сейчас заинтересовался как в Immediate выводить набор записей для себя. Получаеся, но только через ADODB.
Соррри если что за оффтоп. | |
|
| |
|
|
|
|
| однажды встретила изречение
избалованные DAO программисты не спешат осваивать ADO
в ADO какие-то сложности при программном поиске по 2-3 полям, сейчас уже не помню нюансов
.... вот и осталась на DAO | |
|
| |
|
|
|
| мда. но разница основная в чём? может я не по теме пишу конечно, но чисто практичность двух методов чем отличается.
В виводе записей? | |
|
| |
|
|
|
| с другой стороны
DAO
--связанные таблицы в основном делаются диспетчером связанных таблиц и для простых запросов и динамических
--не надо знать имя обработчика
-- несложно сменить место жительства
ADO --все примеры, что я смотрела,
--связь в коде,(но возможно это аукнется при переходе на а2012\а2014--может не оказаться опорной библиотеки-придется залезать в код)
--я уже где-то видела анализ версий для присвоения обработчика
--хотя привязаться к диапазону ячеек екселя возможно и проще | |
|
| |
|
|
|
| поясните что имеете ввиду
--не надо знать имя обработчика
-- несложно сменить место жительства
|
| |
|
| |
|
|
|
| поясните что имеете ввиду
--не надо знать имя обработчика
---------выбираем тип файла из списка
-- несложно сменить место жительства
---------сейчас точно не помню синтаксиса, но
currentdb.tabledefs("tab1").connect="c:\rab\" --не уверена,что свойство connect, подзабыла немного | |
|
| |
|
|
|
| понял
для изменения connect у связанных таблиц в ado так же легко только нужно использовать adox | |
|
| |
|
|
|
| пока живете на чистом access в принципе почти все равно.
как только начнете работать с sql server лучше использовать adodb
ado более современная технология значительно шире чем просто работа с данными из таблиц. | |
|
| |
|
|
|
| Основные достоинства ADODB:
1. Нет метода Edit, редактирование записи начинается с первым изменением в поле. Часто это упрощает код, когда нужно определиться, редактировать запись или нет.
2. Возможна запись нескольких добавленных/измененных записей скопом (UpdateBath)
3. Можно создать отвязанный (виртуальный) Recordset
4. Есть метод GetString, позволяющий получить строку с указанными разделителями полей и записей.
Основные недостатки ADODB:
1. Поиск возможен только по одному полю. Спецификация оператора Like, требования к строковым критериям и проверке на Null - другие.
2. На основе сохраненного запроса с параметрами можно получить только Recordset типа forward-only, read-only.
Есть много отличий в стратегии, например:
1. Есть только метод Find, которому можно указать направление поиска и игнорирование текущей записи. Нет св-ва NoMatch, нужно проверять BOF или EOF (в зависимости от направления поиска).
2. Добавленная запись становится текущей
3. Результат применения методов Filter и OrderBy отражается в этом же Recordset-е (в DAO нужно получить другой экземпляр).
Надо помнить, что в MDB Recordset формі/отчета, это DAO.
Я, лично, предпчитаю DAO и использую ADO только, когда нужгны достоинста, описанные выше.
в Immediate выводить набор записей для себя.
| Это как? GetString? | |
|
| |
|