|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
При работе с БД Access в VBA можно использовать DAO или ADO Но в простом варианте - создав таблицу и форму для работы с ней можно вообще не использовать VBA Но как работает сам Access с собственными БД? Через DAO ADO или вообще какой-то родной механизм? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 21:30 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
А как работает EXCEL с книгами(своими файлами)? Кстати VBA там тоже имеется ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 21:48 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
sdku, Ну все таки когда Вы работаете в VBA с объектной моделью Excel-а то файл у вас открыт, занят приложением Excel и все идет одним способом, т.е. с этим же файлом вы не работает через другие драйверы, а если например желаете работать с Excel-ом из какого стороннего средства, то работаете с ним в тот момент, когда другой кто-то с ним не работает (можно работать черезх драйвер прямо с файлом без привлечения Excel а можно отдавать команды Excel-у) С Access-ом же другая история. Он что то делает сам, но и в VBA можно по разному работать. И как все это совмещается, какие могут быть конфликты и прочее Я как-то не смог найти какого-то четкого описания существа этого вопроса, потому то и спросил ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 22:14 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
Ну собственно разобрался Access довольно универсально работает в этом смысле Если кратко то ADO Если совсем старый то DAO (но можно для новых тоже принудительно можно указать) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 22:24 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
lks1965, А Вы попробуйте удалить библиотеку Visual Basic или одноименную с используемой офисной программой и посмотрите что ответит программа. А без DAО или ADO (они не подключены по умолчанию) все прекрасно работает ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 13:06 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
Используемые встроенным кодом объекты идентичны (во всяком случае, на первый взгляд, по набору свойств, методов и пр., и вообще по дублированию имён типов) таковым в DAO. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 13:39 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
Да я поэксперементировал Получается DAO - имеется в Microsoft DAO 3.6 ObjectLibrary - продублировано в Microsoft Access XX.0 Database Engine ObjectLibrary т.е. объекты DAO вполне видны в VB независимо от того какая из этих библиотек подключена ADO надо подключать специально Среда т.е. сам Access работает совершенно независимо от того что подключаешь Для проверки я отключил все ссылки кроме (их не отключишь) Visual Basic ForApplication Microsoft Access 16.0 ObjectLibrary Сама среда работает позволяет создавать таблицы формы и прочее Но в VB уже ничего не видно ни nbgf данных Recordset (как свойство Me он есть) ни других специфических для БД вещей ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 15:17 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
lks1965 Для проверки я отключил все ссылки кроме (их не отключишь) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 22:02 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
Панург, Так и есть Без всяких этих ссылок во вновь созданной БД имеются как CurrentDB (DAO) так и CurrentProject.AccessConnection (это уже ADO) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 01:20 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
lks1965 Без всяких этих ссылок во вновь созданной БД имеются как CurrentDB (DAO) так и CurrentProject.AccessConnection (это уже ADO) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 06:14 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
Я не до конца понимаю такой момент (отчего и возник вопрос) Вот я сделал таблицы, описал схему БД, и сделал формы всякие. Все работает... хорошо... Но наступает момент, когда я хочу что то долелать свое - обработку какую то и прочее. Для этого использую VBA. И вопрос собственно возникает такой Сам Access как-то обращается к БД. И в VBA я например использую CurrentDB (это DAO), что то делаю а потом моя деятельность вступает в некий конфликт с работой самого Access-а через ADO. Ну или наоборот Access использует ADO а я внутри VBA DAO Не есть ли в этом всем потенциальная возможность конфликтов доступа к БД ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 13:21 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
lks1965, если в коде что-то написано с использованием библиотеки DAO а она окажется не подключенной (такое иногда случается при работе базы на другом компьютере)возникнет ошибка(аналогично с ADO).А о том как работает ACCESS досконально понимают работники Microsoft (да и то далеко не все) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 14:24 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
Да,коллеги, поясните такой момент: начиная с 2007 DAO, но какая-то неполноценная, подключена по умолчанию-это так или я ошибаюсь ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 14:41 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
sdku какая-то неполноценная ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 17:23 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
Я сталкивался с такой "проблемой-непоняткой", что при открытии 2007 БД созданной в 2003 DAO была missing. Может потому что в 2003 по-умолчанию была ADO-это так(причем иногда-может это просто такая БД)? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 20:57 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
По крайней мере в 2019 Access получается так, что вновь созданная БД имеется рекордсеты к примеру на формах именно что типов DAO. Потом их можно поменять (через VBA) на рекордсеты ADO, но вначале создается именно DAO (хотя элементы от ADO тоже присутствуют) И вообще в книгах к примеру по Access 2002 (Гетца) утверждалось, что DAO уступает дорогу ADO и отправляется на покой, но вот потом тональность поменялась и в книге к примеру "Microsoft.Access.2010.Programmers.Reference" говорится, что эти ожидания были преждевременны... а потом MS вообще встроила DAO Из книги "Access® 2016 Bible"- In recent versions, Microsoft has revived DAO by building it into the Access Database Engine(в последних версиях Microsoft возродила DAO, встроив его в компонент Access Database Engine) Да и вообще удаление из Accessа к примеру системы безопасности явно свидетельствует о его заточенности на таки локальные вещи В рамках того что меня интересовало, я понял как устроено Ну а для большинства тех, кто имеет солидный опыт это все это не имеет такого уж большого значения ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 21:48 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
lks1965 Но как работает сам Access с собственными БД? Через DAO ADO или вообще какой-то родной механизм? Через Microsoft Jet Database Engine ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2021, 22:01 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
Мне так сдается, что сам акцесс написан на языке низкого уровня типа си, и главная его роль - выполнение функции интерпретатора явного VB(а) и не явного VB (макросы) + он имеет кучу прибамбасов типа dao, ado, контролов и т.д. + встроенный jet для работы со своим форматом БД и инструменты для MS Sql (adp)... ну если в кратце, то в интерпретатор по максимуму встроили классический VB, а чтоб не задавали вопросов типа а нахрена, заточили всё это под работу с БД добавив запросы и отчеты + Добавили VBA в весь пакет офиса для сопряжения ... Типа вот вам небольшие настольные БД (mdb) и серьезные кому нужно - ковыряйте adp под MS Sql... Потом ветер дул в разные стороны, в результате имеем то, что имеем... Единственное что радует - деградация сильно растянута по времени... но ставки падают год от года... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2021, 00:17 |
|
Сам MS ACCESS через что работает с собственными БД
|
|||
---|---|---|---|
#18+
vmag, Да наверное что то такое И скажу, что в качестве локальной БД средней сложности (особенно если нужно (как мне) взаимодействие со всякими ms офисными вещами эксел, ворд, visio), которую взял да понес или переслал куда-то думаю конкурентов у него маловато. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2021, 00:24 |
|
|
start [/forum/topic.php?fid=45&msg=40071930&tid=1609682]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
195ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 291ms |
0 / 0 |