2010-02-12 1 views
2

Недавно мне было предложено обновить приложение Access Forms. Исходя из фона .NET, я обнаружил, что изменение пугает, и стало несколько неудобным. Я предположил, что это наследственные технологии, быстро становящиеся анахронизмами ...Есть ли веские причины продолжать писать приложения VBA + Access Forms?

Я не прав? Если да, то в чем причины для продолжения использования этой технологии (кроме того, чтобы избежать затрат на перенос старых приложений на .NET)?

+0

duplicate, i reckon: http://stackoverflow.com/questions/469799/what-are-the-appro-uses-for-ms-access – hawbsl

+1

Должен ли вы опробовать вопрос, потому что вам не нравится ответ афера? – JeffO

+4

Мне действительно все равно, что касается доступа или спорных вопросов, но Дэвид сделал такую ​​приятную работу, чтобы ответить на это, что я думаю, что это стоит того. Попробовал отредактировать часть негатива ... – Shog9

ответ

9

Существует еще тонна программного обеспечения, написанного в COBOL, и это намного старше, чем Access.

Есть некоторые области, где приложение доступа, вероятно, является достаточным и наименее дорогим вариантом. Если он выполнит свою работу (ваша работа частично позволяет вашему работодателю узнать, действительно ли это ), и если это то, что они хотят, пойдите для этого.

Если вы видите веские причины, по которым проект .NET будет лучше, или что доступ будет коротким, обсудите их открыто и попытайтесь найти решение, которое отвечает интересам человека, делающего чек.

+0

Существует довольно много областей, где Access просто отлично. Имеются достоверные отчеты о сотнях пользователей, использующих Access против того же SQL Server. –

+0

Я использую его сам от времени до времени, хотя, конечно, не знаю достаточно о более поздних версиях, чтобы воспользоваться всеми преимуществами. Я с интересом прочитал ответ Дэвида. –

28

Вместо того, чтобы ответить на подтекст вопроса (который является то, что приложения Access не страшны ни на что), я дам некоторую информацию о будущем доступа:

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

  2. Практически отсутствует конкуренция за пределами MS для функциональных возможностей, предоставляемых Access. Единственным сравнимым продуктом является FileMaker Pro. Можно сказать, что базовый компонент в пакете OpenOffice является конкурентом, но он охватывает только часть функций, предлагаемых FM и Access (что не означает, что этого может быть недостаточно для любого количества сценариев).

  3. Доступ (и весь пакет Office) по-прежнему использует VBA в качестве языка программирования, а остальная часть Microsoft перешла от VB к языкам на основе .NET. Другие продукты Office теперь могут использовать компоненты .NET (но не так, как они используют VBA), но это не относится к Access. Я ожидал бы, что когда-нибудь в следующих двух версиях Access (не в A2010), поддержка .NET будет представлена ​​каким-то образом. Но, зная историю MS, VBA будет поддерживаться в нескольких версиях.

  4. Приложения доступа исторически имели огромную слабость в отношении развертывания в Интернете, что FileMaker предлагал много лет назад. A2010 исправляет это большое время благодаря интеграции Sharepoint, которая позволяет создавать приложение Access с использованием новых веб-объектов, которые могут выполняться идентично в клиенте доступа и в веб-браузере (любой совместимый со стандартами веб-браузер - не больше веб-компонентов и ограничений на IE).

  5. Двигатель базы данных Jet был в основном объявлен мертвым MS вокруг выпуска Jet 4 (который вышел в 1999 году), хотя MS сделала Jet 4 компонентом операционной системы Windows (и она по-прежнему есть). Jet получил новую жизнь с выпуском Access 2007 и включением новой версии ядра базы данных Jet под названием ACE и принадлежащей команде разработчиков Access (Jet 4 по-прежнему принадлежит команде разработчиков Windows и заморожен как , без дополнительной разработки).Большая часть новой функциональности, внедренной в ACE, основана на стремлении Microsoft интегрировать Access с Sharepoint, но с A2010 некоторые из новых функций (таких как макросы данных на уровне таблицы, которые обеспечивают эквивалент триггеров) очень полезны даже без использование Sharepoint (другие, как многозначные поля, не являются). В 64-разрядной версии Office теперь имеется 64-разрядная версия ACE, поэтому Jet/ACE теперь можно использовать в 64-разрядных приложениях, не требуя компиляции только в 32-разрядной версии.

Теперь последний вопрос: спросил

@ChrisDiRulli:

Есть ли причина продолжать использовать эту технологию (помимо избежать затрат, чтобы переместить его на)?

Конечно, есть очень веские причины, чтобы продолжить использование доступа:

  1. приложение уже разработаны.

  2. приложение работает или работает достаточно хорошо, чтобы выполнить работу.

  3. Приложению нужны только некоторые новые функции, а не полная переписывание.

  4. приложение используется группой пользователей, для которых нет проблем с развертыванием (все они имеют полный доступ или используют среду выполнения).

Есть большое будущее для доступа, мне кажется. Я не восхищался Access после выпуска Office 95/97, который представил VBA в пакете Office и позволил создать «мета-приложения», созданные поверх пакета Office.

Теперь в любой конкретной ситуации, с устаревшим приложением Access, проблема может заключаться в том, что никто не знает, как исправить существующее приложение, или что существующее приложение является святым беспорядком спагетти-кода и макросов (что гораздо хуже, если оно использует макросы, так как почти невозможно рассказать, как они взаимосвязаны), или схема плохая, или, или, или ...

Если проблема в том, что никто не имеет отбивных (или процентов) для спасения приложения , вы должны рассмотреть возможность найма подрядчика, который является опытным разработчиком Access. Найти этих людей не так просто, но их много. Вы можете сказать, кто компетентные из них публичные публикации в группах Access Usenet и даже некоторые из них здесь, на SO.

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

Но первые вещи сначала:

Lose враждебность к доступу. Это иррационально и 99,99%, вероятно, что он полностью основан на невежестве.

+3

+1 для O_o: D Очень хорошо написано и вдумчиво. – GalacticCowboy

+0

+1 - В целом «Access Does not Scale» с нетерпением ждут сложного времени для интеграции интеграции SharePoint, но они найдут оправдание для территориального писания. – JeffO

+0

+1 Полностью согласен - Доступ определенно имеет место для небольших и гибких приложений с дополнительными приложениями. – James

4

Мы храним его, потому что он работает.Когда потребности бизнеса растут настолько, что приложение Access больше не может выполнять свою работу (очень хорошая вещь для бизнеса или неудачный признак того, что разработчику вашего доступа может не хватать знаний в этой области.), Вы создаете что-то, что может или нанимать кого-то, кто может.

Вы были разочарованы тем, что все разработчики прошли. Я никогда не начинаю свой день думать: «& ^% &, мне нужно создать новое приложение! Когда я когда-нибудь собираюсь вернуться к этому 3-летнему .NET-коду и исправить это ...« Рефакторинг имеет его место.

Теперь есть много возможностей .NET, которые я хотел бы видеть в Access и с нетерпением жду версии 2010 года.

+0

Вы можете скачать бета-версию Access 2010. MS подчеркнула Sharepoint и веб-разработку. Очень полезный материал, но я, конечно, хотел бы видеть, что работа, выполненная в VBA IDE> –

3

Используйте правильные инструменты для правильной работы. Многие люди в ИТ откладывают доступ от необходимости поддерживать божественный ужасный db, сделанный кем-то, просто выходящим из excel. Однако доступ к этому имеет много вещей. Например, у меня есть проект, который требует быстрого развертывания около 10 пользователей с коротким поворотом времени. Для этого задания я оставляю SQL-сервер и копию визуальной студии на полке и используя доступ. Если доступ соответствует заданию, зачем переписывать его в .net, чтобы он мог быть в .net. Для меня используемый программный инструмент - это средство для достижения цели не

+1

BTW, см. В Auto Auto Updater, чтобы помочь вам развернуть обновления вашего доступа FE вашим пользователям. http://autofeupdater.com/ –

+0

Я уже использую это тони. Хорошо, что я сделал свою собственную версию этой идеи, а затем, получив ее, все прекрасно поняли, что это уже сделано! Великие умы и все такое –