Share

Microsoft Access, VB, VBA

Microsoft AccessФактически 6 лет моей жизни были посвящены участию в разработке и поддержке очень серьёзных ERP-систем учета, базирующихся на основе СУБД Microsoft Access, самой из любимых для меня в составе маленького и очень шустрого MS Office 97.

Не скажу что являюсь фанатом MS, но эта СУБД по ряду своих характеристик и свойств стоит особняком по отношению к другим (даже аналогичным по сути) БД.

Причём, этот «особнячОк» является довлеющим для тех кто вкусил все прелести Microsoft Access, и судорожно озирается в поиске мульти-платформенного аналога, которого до сих пор нет.

Чем интересен этот продукт?

  • высочайшая универсальности и продуманность пользовательского интерфейса, который рассчитан на разработчика/пользователя различной квалификации
  • подкупает система управления объектами базы данных, позволяющая оперативно переходить из режима «разработчика» в режим их непосредственной эксплуатации
  • широчайшие возможности интеграции с любыми программными продуктами, поддерживающими технологию OLE (т.е. не только MS)
  • качественный и широкий набор визуальных средств разработки

Основные компоненты MS Access:

  • построитель таблиц;
  • построитель экранных форм;
  • построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
  • построитель отчётов, выводимых на печать.

Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.

Начать работать с MS Access и создать первую базу данных и красивый отчёт может пользователь любого уровня, который знает что такое таблица EXCEL! 

MS Access является файл-серверной СУБД. Статья на Википедии утверждает что она применима лишь к маленьким приложениям, т.к. отсутствует ряд механизмов, необходимых в многопользовательских БД, таких, например, как триггеры.

ACCESS Андрей МитинКатегорически не согласен!!! Опыт эксплуатации системы в ООО «Русьимпорт» в файловом варианте (есть вариант работающий и в связке с MS SQL) полностью опровергает это утверждение. Я бы даже сказал что ценность этого утверждения равна нулю!

Не могу не представить сайт ведущего разработчика Андрея Митина, где представлено очень много полезных советов и практических решений  на базе MS Access различных версий.

Уже упоминал, что возможности MS Access по написанию приложений расширяются механизмом связи с различными внешними (не родными для MS) СУБД методом «связанных таблиц» (связь с таблицей СУБД) и «запросами к серверу» (запрос на диалекте SQL, который «понимает» СУБД), причём можно строить полноценные клиент-серверные приложения на базе любых СУБД, а не только MS SQL Server, а средства разработки различных систем прекрасно уживаются!!!

Лично мне довелось поработать с клиент-серверными системами на базе не только MS SQL Server ООО «Русьимпорт»), но и с ORACLE  (Филиал «Череповецкий пивзавод» ОАО «Комбинат им. Ст.Разина»). Причём, сервер ORACLE (v.7) стоял на OS Netware, а далее мигрировал на OS Linux Slackware (v.9-v.10).

Мной неоднократно предпринимались попытки запуска MS Access под Linux через Wine, но  всё работало как-то неустойчиво. Скорее никак… Увы…

В OpenOffice Base сделана попытка повторить успех MS Access и его идеологию, но продукт увы пока очень сырой. Невозможность реализации VBA/VB делает Base не совместимым c MS Access и требует капитального переосмысления разработчиком. Буду продолжать периодически «щупать» новые версии OpenOffice Base

зы: Система ERP, которая использовалась на пивзаводе, настолько хороша по функционалу, скорости, надёжности, что даже в последних версиях многое, что нами сделано в ACСEES+ORACLE в начале 2000-х, ещё только-только появляется… Жаль что в 2005 на завод пришли новые московские хозяева, которые признавали только (точнее другого просто не знали и знать не желали)…

  • Кто-нить видел реализацию под 1С Предприятие классической задачи развоза товаров по маршрутам с учетом порядка погрузки и веса товара?
  • Можете себе представить обновление без остановки работы? 

А у нас оно было и есть, «наш бронепоезд стоит пока на запасном пути» и ждёт инвестора…  😎

You may also like...

2 комментария

  1. Игорь:

    вот уж не знаю, как там у Вас все уживалось с Access’ом, но мой опыт работы (мучения) с ним говорит, что через ODBC с MySql любой запрос просто неимоверно тормозит ( а структура базы такова, что приходится регулярно обмениваться данными с MySql и из-за этого приходится заводить копии MySql таблиц в базе и периодически по ночам перекачивать содержимое в них), маниакальное стремление построителя запросов втыкать скобки куда надо и не надо превращает попытку чтения получившегося запроса в кошмар, при работе больше 10 пользователей в базе зараз резко падает скорость обработки данных. Кроме того «разбухание» самой базы, которое совершенно не связано с объемом хранящихся в ней данных, несоответствие стандарту ANSI и правилам Visual Basic (попробуйте написать в коде что-нибудь, содержащее Unicode!) — это только добавляет причины принимать валерианку при одной мысли об этой сказочной СУБД.
    ИМХО

    • Алексей Кощеев:

      1. C MySQL не пользовал, только ORACLE и MS SQL
      2. MS Access по сути был лишь очень удобным визуальным окном-конструктором по технологии клиент-сервис
      3. Связанные таблицы конечно были, но тяжелые запросы были хранимыми на сервере в виде функций и процедур. В сторону сервера отдавались лишь команды, а обратно получал уже готовый поток данных для отображения

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.