Познакомился я с MS Access 2.0 где-то в 1994 году (не помню - 2 или 3 курс института). Вкупе с изучением SQL, Access показался очень классным средством. В нем мы делали лабораторки – чего-то типа “найти всех родственников, если есть таблица с полями: человек, связь с другим”. За точность формулировки не отвечаю, но задания были интересными.
Естественно о “серьезном” программировании в Access-е тогда речи не шло – был “чистый” VB (3.0) для Windows, был C для DOS. Но Access оказался для меня воротами в мир БД (Clipper, с которым я сталкивался ранее, не “пошел”).
А потом появился Delphi, анонсированный заранее (до офицального выпуска первой версии) тем же преподавателем, и остался очень-очень надолго. Но это отступление от темы.
К Access я, конечно, периодически возвращался, но далее задач типа “сделать форму или отчет на основе 1-2 таблиц с помощью мастера и слегка подправить” дело заходило редко - в этих случаях шел в дело Delphi. Естественно, посмотрел все версии Access в Office 95, Office 97, Office 2000 и 2003, но револиционных или даже сильно эволюционных изменений я в нем не находил, особенно что касалось программирования.
Все таки попытки написать логику на VBA я периодически предпринимал, но все время наступал на грабли Microsoft-а, когда первые два- три шага ты делаешь легко и предсказуемо, а когда надо сделать четвертый, то это уже оказывается нетривиальным, а точнее – совсем не похожим на предыдущие. Конечно, я сравнивал построение библиотеки функций и классов практически с эталоном красоты – VCL Delphi, и ,естественно , VBA в MS Access, как и вообще VB, здесь явно проигрывал и я возвращался к Delphi.
Так бы дело и шло, если бы не знакомство с 1С и некоторыми другими средствами программирования для бизнеса. Через какое-то время (лет через 10, а то и больше) я понял что у каждого инструмента есть своя цель. Если тебе надо написать программу учета, то можно пожертвовать тем, что работа с сетью у тебя будет отличаться от работы с файлами или работа с файлами от работы с форамами, что нет полноценного ООП и т.д.
Начинаешь ценить другое – за сколько времени ты сделаешь программу, за сколько изменишь. Что будет нужно чтобы ее отладить на компьютере пользователя. 1С показала для меня некий другой стандарт платформы разработки. Есть программа, сразу же можно зайти в конфигуратор, создать новую структуру данных, под которую уже будет готова форма по-умолчанию. Есть встроенная система безопасности – т.е. то что, рано или поздно придется реализовывать.
С другой стороны 1С велика для установки, имеет аппаратную защиту. Но главное – простые таблицы и формы в Access создавать все равно быстрее! А присвоение полю в форме значения “=Функция()” ? Это вообще класс!
Если Delphi делает exe-шник, чтобы изменить который надо стартовать среду разработки, то здесь размер шрифта в поле формы, да и другие свойства можно изменить, вообще не заходя в конструктор. Это все про скорость разработки.
Понятно, что грабли рано или поздно появятся и что есть некоторая точка роста программы, где поддержка приложения, написанного на Access и на Delphi будет уже не в пользу Access, по усилиям. Но я говорю сейчас о своей работе – менее 10 программ среднего размера и кучка мелких и везде – работа с БД. Да еще и SAP грядет в качестве замены наших основных программ. Т.е. нужно будет “что-то вокруг большой программы” и здесь моя надежда – на Access.
Только вот всплывают вопросы о готовых компонентах, которые так широко используются в Delphi. И еще – есть ли сообщество, где обмениваются исходным кодом. Пока нашел сайт одного MVP (http://allenbrowne.com/tips.html) - сайт классный, много материалов, но все-таки жалко, если придется искать код по сайтам “одиночек”, хотелось бы, чтобы было сообщество.
А пока скачал оттуда код всплывающего календаря, переделал под начало недели с понедельника. Еще надо на русский перевести. А потом опять выкладывать на “индивидуальный” сайт? В общем, надо поискать единомышленников.