Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Microsoft Access - программирование и готовые решения


Выпуск 99. Microsoft Access 2010 и adp проекты

Подписка:      "Microsoft Access - программирование и готовые решения"
Дата:               20.05.2010
Сайт:               http://www.leadersoft.ru/
Статья:            http://www.leadersoft.ru/rus/help/subscribe/sub99.html
Описание.     В рассылке дается анализ Microsoft Office Professional Plus 2010, не с точки маркетинга (добавленных изменений), а сточки зрения разработчика adp проектов
 
 
Microsoft Office Professional Plus 2010
Тестирование Microsoft Access на базе adp проектов
Скоро на рынке должен активно продаваться новый программный продукт Microsoft Office 2010 с базой данных Access. Загрузить эту программу можно с сайта Microsoft уже сейчас: http://technet.microsoft.com/ru-ru/evalcenter/ee390818.aspx Уже сейчас Офис 2010 рекламируется, его можно купить или обменять бесплатно на 2007 версию.

В целом - это мощный программный продукт по обработке различной информации, который можно сравнить с крутым и навороченным автомобилем (хотя есть некоторые проблемы с двигателем). Попробуем взглянуть на приложение Microsoft Access с профессиональной точки зрения, а не с  маркетинговой стороны, что у него появилось нового. И так все по порядку.

Подготовка операционной системы. Установку офиса логично сделать с использованием Virtual PC, например, 2007 версии. Это позволит Вам не только быстро установить офис, но и сохранить реестр Windows. Вообще рекомендуется использовать Virtual PC и для тестирования других программ, чтобы не подцепить вирусы из интернета. Очень полезная программа. Вот ссылка для загрузки Virtual PC. http://www.microsoft.com/downloads/details.aspx?FamilyId=28C97D22-6EB8-4A09-A7F7-F6C7A1F000B5&displaylang=en

Загрузка офиса. Когда приходится загружать новый офис, то перед этим необходимо установить плагин в браузер. Непонятно зачем это сделано, но судя по плагину - это программист-любитель написал систему загрузки. Бросается в глаза примитивный табличный интерфейс (не видно имена файлов) со старыми значками, а в добавок уже после загрузки при нажатии кнопки "Закрыть" система задает вопрос "Прервать загрузку?". Будем считать, что это 1 замечание не в пользу нового офиса.

Обновление Windows. Если установить программу на Windows XP Sp2, то система предупредит Вас, что нужно установить MSXML версии 6 и обновить систему Windows пакета SP3. Это неплохо, конечно, но приходится потратить некоторое время на то, чтобы найти и скачать эти программы из интернета, т.к. прямые ссылки на web архив в сообщении не указываются. Вообще файл mshml - небольшой, вполне возможно его добавить в программу установки. Это 2 замечание.

Инсталляция. Установка офиса в Windows проходит без проблем, но если вы попробуете самостоятельно выбрать разделы для установки, то возникнет некоторая заминка. Есть раздел по поддержке программирования NET, но он не выбирается. В бета версии можно было выбрать NET, но найти содержание раздела в интерфейсе Access не удалось. Таким образом, будем считать, что эта хорошая идея в новой версии офиса отсутствует. 3 замечание.

Запуск программы. Когда вы открываете файл Access, то система вас предупреждает о вирусах. Это кажется разумным способом только в начале работы с вашей программой, но потом это надоедает и раздражает пользователей. Администраторы отключают эту функцию сразу, но для рядового пользователя это сложно сделать. Думаю, что это замечание можно отнести к существенным, надо уже перестать бояться вирусов.

Программисты, разрабатывающие свое приложение могут это сделать через реестр, если они разработают программу инсталлятор. Ниже указан пример для бесплатного установщика InnoSetup, где эта функция введена для офисов 2003 (11), 2007 (12), 2010 (14)

[Registry]
Root: HKCU; Subkey: Software\Microsoft\Office\11.0\Access\security; ValueType: dword; ValueName: Level; ValueData: 1; Check: IsInstallAccess(11); Flags: createvalueifdoesntexist
Root: HKCU; Subkey: Software\Microsoft\Office\12.0\Access\security; ValueType: dword; ValueName: VBAWarnings; ValueData: 1; Check: IsInstallAccess(12); Flags: createvalueifdoesntexist
Root: HKCU; Subkey: Software\Microsoft\Office\14.0\Access\security; ValueType: dword; ValueName: VBAWarnings; ValueData: 1; Check: IsInstallAccess(14); Flags: createvalueifdoesntexist

P.S. Ссылка для тех, кто разрабатывает InnoSetup инсталляции для Access: http://market.leadersoft.ru/Product.aspx?ProductID=5030

Магия и офис. Вообще специалисты в компании Microsoft люди суеверные и боятся не только вирусов, но и всего неясного, магического. Если вы посмотрите на верхний пример, то по логике вещей внутренний номер офиса в реестре должен быть 13 (2000-9, 2002-10, 2003-11, 2007-12, ?-13, 2010-14 ...), а его нет. Думаю, что число 13 (чёртова дюжина) специально пропустили, чтобы оно не навредило новой программе.

С другой стороны, число 13 для американцев - счастливое. Страна в начале развития имела 13 штатов, да и сейчас на гербе США можно найти оливковую ветвь с 13 листьями и 13 оливками, пучок из 13 стрел, щит с 13 красными и белыми полосами. Действительно загадка, почему пропустили номер 13 - непонятно. Хотя это не такое уж серьезное замечание к новому офису, но часть времени было потеряно при разработке новой программы инсталляции, т.к. сразу не было понятно, что порядковый номер офиса может измениться сразу на 2 цифры.

Аdp проекты. Возможность работы с adp проектами в новом офисе сохраняется и это важный момент, т.к. производительность таких проектов на порядок выше, чем у локальных mdb или accdb файлов. Многие сталкиваются с проблемами в сети с Access, когда записей в таблице становиться более 200 тысяч. Администраторы пытаются изменить mdb файлы или настроить локальную сеть. Все это правильно только частично, но кардинально проблему этим не решить. По умолчанию, adp проект возвращает с SQL сервера 10 тыс. записей для любой таблицы, а не всю таблицу при работе с mdb файлами. К сожалению ограничить SQL запросами эти действия нельзя. Компьютер пользователя должен скачать все записи сразу, и только потом их анализировать ядром Jet. Выход из такой ситуации только один - пока не поздно надо переходить на adp проект или искать решение в виде привязки таблиц к SQL серверу из mdb проекта.

Тестирование аdp проектов. От версии к версии в офисе библиотека VBA практически не меняется, но проблемы все равно возникают на уровне ссылок в формате закрытых файлов ade и mde. Например, возьмем проект Access 2003 и разделим его на части: основную и вспомогательную. Назовем их Моя_программа.adp и Библиотека.adp. Установим ссылку через VBA - References из файла Моя_программа.adp на Библиотека.adp. Все может работать, т.к. adp открыты для изменений и при компиляции эти файлы могут быть изменены.

С другой стороны, если вы создадите из adp - ade файлы в другом 2003 офисе и попытаетесь их запустить в новом, то с первой попытки это не получится. Это говорит о том, что внесены какие-то изменения в программу создания файлов ade или Windows блокирует ссылки.

Проблема работы с ссылками VBA уже "болтается" уже не один год (с момента прихода Vista) и никто ей не занимается. От этих ссылок зависит подключение ActiveX элементов, Excel и других приложений. Пока как обойти эту проблему неясно, т.к. совместимость офисов 2000,2002,2003 с приходом 2007 и 2010 изменилась. Все это говорит о том, что офис 2007-2010 хотя и получил новый внешний вид, но улучшения языка программирования VBA не произошло.

Это существенное замечание, т.к. хорошую программу в офисе создать без языка программирования невозможно.  Но не будем обвинять тех, кто придумал язык VBA, их можно назвать гениальными и "снять перед ними шляпу", если взглянуть на это по другому. В этом году исполняется 10 лет (юбилей), когда этот язык появился впервые  в 2000 офисе. Можно сказать, что их идеи продолжают "кормить" не только специалистов в США, но и в других странах тоже.

∙ Microsoft Access 15. Работа с 14 офисом закончена. Уже скоро начнутся активные продажи его во всем мире и "начнется война" за наши компьютеры. Команда разработчиков не разбежалась, и готова "принять на себя" весь шквал проблем от Офиса. Центр обновления возьмет на себя первые атаки клиентов, а потом уже и подойдет тяжелая артиллерия в виде новых сервис паков. После этого можно сказать, что битва будет выиграна, и Офис займет почетное место на наших компьютерах. Это, конечно, шутка, но попробуем проанализировать, чтобы мы хотели увидеть в следующей 15 версии Access:

  • Добавить единое меню сразу ко всем функциям интерфейса
  • Создать полную совместимость форматов mde, ade, accde, включая разные офисы и Windows
  • Сделать диагностику ошибок Access и SQL Server более детальной
  • Добавить TreeView к таблицам, формам, отчетам и модулям
  • Добавить экспорт из mdb, accdb объектов и VBA программ в отдельные файлы, совместимых с форматом VB.NET Visual Studio
  • Улучшить работу с ссылками и внешними объектами из VBA, включая UserControls из NET
  • Объединить возможности редакторов Access, SQL Management Studio и Query Analyzer
  • Графики Access и Excel должны иметь одинаковые свойства и настройки
  • Улучшить intelisense в VBA

Фантастические предложения

  • Добавить конвертор mdb, adb, accdb в Exe формат.
  • Разрешить программистам писать программы на NET и LinkQ в самом Access
  • Dlookup, IIF, Nz, InStr, Mid, Format и VBA функции добавить к запросам T-SQL
  • Разрешить покупать Word, Excel, Access, Outlook отдельно и по доступным ценам.

∙ Общие выводы. В целом мы имеем небольшие улучшения в самом офисе (10-15%). Практически все силы брошены на создание новой оболочки интерфейса. Это видно из версий 2007 и 2010. На самом деле новых изменений в ядре системы нет (VBA). Все остается на уровне 2000 года. Возможно это и правильно, т.к. к офису подключаются много новых пользователей, которые вообще не умеют работать с базой данных. Тратить деньги на улучшения для профессионалов, у которых уже есть Visual Studio на этом этапе будет неразумно, да и они быстрее адаптируются к новым проблемам.

 
Новинки баз данных
Информация для начинающих
Для тех, кто осваивает разработку баз данных на  Microsoft Access, нужны примеры решений с использованием этой базы данных. Это небольшие микро-решения. Ранее эти примеры можно было скачать в виде разных файлов. Теперь все они записаны в один большой файл zip файл. Весь архив удачно разбит на 17 разделов:
  • Автоматизация, Графика, Защита, Интерфейс, Конверторы, Массивы, Меню, Отчеты, Ошибки, Поиск, Справка, Статьи, Таблицы, Файлы, Формы, Модули, Разное.

Вы можете Скачать бесплатную версию архива или Купить его бизнес версию с дополнительными примерами  

 
Лицензия на источник информации
    Все права на статью принадлежат Leadersoft.ru. Статья предназначена только для публикации среди подписчиков subscribe.ru. Никто без письменного разрешения leadersoft.ru не может продавать, перепечатывать, сдавать в аренду или другим образом извлекать выгоду, используя информацию из этой и других статьях данной рассылки.

В избранное