желание переместиться вверх от доступа мс, размышление .NET? Visual Studio?

Таким образом, я записал программу управления проектами для малого бизнеса с помощью Microsoft Access 2007.

Теперь они запросили много дополнительных функций (хронометрирование, привилегированные уровни данных...)

Я лично использую Linux, но целый офис использует Windows.

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

Я прав на краю на этом - я не могу действительно сказать, каков путь наименьшего сопротивления здесь: я остаюсь в доступе + VBA и преподаю мне смерть, раздражающий язык - при борьбе против всех ограничений Доступа? Или я перемещаюсь во что-то еще?

Python кажется достаточно простым... Независимо от того, что я использую, я должен смочь предложить GUI.

снимок экрана, таким образом, можно получить jist: http://img707.imageshack.us/img707/9360/screenshot1fi.jpg

http://img707.imageshack.us/img707/7338/screenshotmh.jpg

- примечания: текущий проект доступа использует отдельный frontend-бэкенд для многопользовательского совместного использования по LAN

перекрестная совместимость с Linux не настолько важна для меня, я использовал virtualbox некоторое время теперь.

- ОБНОВЛЕНИЕ - мое блуждание убедило меня, что я должен продолжить двигаться в IronPython - однако - поскольку я пытаюсь установить комплект и в XP и в 7, и сбой... Интересно, является ли это также чем-то устаревшим... самое главное, iv'e чтение на нем, и я ЛЮБЛЮ Python 3 - но я должен предложить GUI для Windows, не уверенного, где запустить с того (включая который IDE использовать, и т.д.)

6
задан Tristan Lear 3 April 2010 в 21:07
поделиться

10 ответов

VB и C #, безусловно, похожи на Access, и было бы хорошо, если вы не хотите уходить слишком далеко.

Python великолепен, но не похож на Access. Это просто язык программирования с хорошими библиотеками баз данных. Библиотеки GUI тоже выглядят неплохо, хотя я никогда ими не пользовался. Дизайн графического интерфейса в Python будет сложнее, чем в C # / VB. Python бесплатен, и, возможно, стоит просто поэкспериментировать с ie. создать графический интерфейс, подключиться к базе данных SQLite. Вы, вероятно, получите хорошее представление о возможности использования python для ваших целей.

Не используйте только Access. Доступ довольно хорош для небольших приложений, и вы можете делать некоторые вещи очень быстро. С другой стороны, VBA жесток и сильно ограничивает. Если можете, попробуйте как C #, так и python.

1
ответ дан 8 December 2019 в 17:20
поделиться

У WPF довольно крутая кривая обучения, особенно из Access. WinForms был бы более простым путем, но все же это шаг вперед по сравнению с Access. Однако и WPF, и WinForms имеют конструкцию форм с перетаскиванием, и, если вы знаете достаточно VB.NET для преобразования бизнес-логики VBA, вы более чем на полпути. :)

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

1
ответ дан 8 December 2019 в 17:20
поделиться

Пока клиенты не используют общую базу данных, приложение .NET WPF / WinForms со встроенной базой данных, похоже, будет работать нормально.

Вы, вероятно, могли бы даже разработать что-то, что работает как на ПК с Windows, так и на вашем компьютере Linux, используя Mono (вы бы застряли с подмножеством WinForms ... но для простого бизнес-приложения в этом нет ничего плохого).

0
ответ дан 8 December 2019 в 17:20
поделиться

Думали ли вы о Appcelerator Titanium или чем-то подобном? Вы создаете богатый графический интерфейс с использованием веб-технологий (HTML, CSS, javascript и или python) и компилируете его в настольное приложение.

Преимуществом будет то, что вы можете разрабатывать в Linux, а окончательное тестирование и развертывание проводить только в Windows.

Тем не менее, писать производственное программное обеспечение в качестве новичка нелегко. Особенно сложной может оказаться работа с ошибками. Будьте умны и думайте о том, "что может пойти не так, когда пользователь делает это", и проверяйте вводимые данные.

0
ответ дан 8 December 2019 в 17:20
поделиться

В такой среде, как эта, вы не можете ошибиться с VB/C#. Попробуйте различные редакции VS Express.

Если вы хотите что-то, что немного больше подходит для Linux, подойдет Python и практически любой кроссплатформенный GUI фреймворк (QT, или wxpython).

EDIT: Затем есть база данных. Я бы посоветовал sqlite, если вы хотите изучить что-то кроссплатформенное. Если придерживаться мира Microsoft, есть SQL server compact.

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

5
ответ дан 8 December 2019 в 17:20
поделиться

Я бы сказал, что веб-приложение (C #) с SQL Express на сервере, но это только я

2
ответ дан 8 December 2019 в 17:20
поделиться

Я сказал это в комментарии, но я повторю это как ответ:

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

Я предполагаю, что одно из двух должно произойти в отношении языка программирования в Access во время выпуска 2-3 версий Access после 2010 г .:

  1. VBA по-прежнему поддерживается, и вся работа переходит в макросы. В конце концов, макросы стали предпочтительным методом для всего программирования в Access, а VBA в конечном итоге устарел и окончательно исключен. Поскольку к этому моменту макросы становятся настолько универсальными и надежными, язык программирования не заменит VBA.

  2. тот же сценарий, за исключением того, что .NET поэтапно заменяет VBA.

Я бы надеялся на № 2, но это полностью зависит от взгляда Microsoft на то, что такое Access, т. Е. В первую очередь от инструмента для конечного пользователя с расширяемостью вверх (№ 1) или от инструмента для конечного пользователя и универсального инструмента разработки с неограниченная расширяемость (# 2).

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

Однако мои оговорки по поводу макросов очень сильны, поскольку я считаю, что их очень трудно поддерживать из-за их автономного характера.Код VBA довольно прост в навигации и понимании, потому что он скомпилирован и потому что есть полнофункциональная IDE. Макросы гораздо более разделены, и их сложно отследить взаимосвязи между ними и объектами, в которых они используются. Добавьте встроенные макросы, добавленные в A2007, и это станет еще более сложным. Я не знаю, занимается ли команда Access этим или нет, но для меня это реальный шаг назад с точки зрения управляемости, особенно если усиление макросов приводит к тому, что VBA устаревает, а затем не заменяется соответствующим мощным язык программирования с хорошей IDE.

Наконец, я ничего не сказал о ядре базы данных, так как Access совершенно не зависит от этого, может использовать Jet / ACE для начала, а затем перейти на выбранный вами движок. Мне кажется, это не проблема, поскольку ваши возможности широко открыты при использовании Access в качестве интерфейса.

1
ответ дан 8 December 2019 в 17:20
поделиться

Если вы работаете только над небольшими внутренними приложениями, посмотрите на Visual WebGUI - вы получите очень похожую на VB6 среду разработки для веб-приложений. Однако я бы не рекомендовал его для больших и/или публичных приложений.

0
ответ дан 8 December 2019 в 17:20
поделиться

Исходя из ваших критериев, я бы использовал PyGtk и Glade. Gtk хорошо поддерживается в Windows и Linux, и я сделал больше за меньшее время с Python и GTK, чем с любой другой комбинацией языка / инструментария.

Если вы хотите переосмыслить это в Интернете, взгляните на ExtJS, который предоставляет множество настольных веб-элементов управления, и у них есть конструктор графического интерфейса.

Для базы данных я бы пошел с Postgresql или SQLite. Имейте в виду, что SQLite имеет некоторые серьезные ограничения, когда дело доходит до параллелизма, что может быть проблемой в зависимости от дизайна вашего приложения и количества пользователей.

1
ответ дан 8 December 2019 в 17:20
поделиться

MS Access - настольное приложение для работы с базами данных. На один шаг выше, скорее всего, будет SQL Server Compact Edition (SQLCE) , который работает как часть вашего приложения (в отличие от SQL Server Express или более поздней версии, которые работают как системные службы). Я с большим успехом использовал SQLCE в нескольких приложениях, а Microsoft использует его в Visual Studio 2010 для нового кэша Visual C ++ IntelliSense, потому что он легкий и отлично работает.

Несмотря на то, что я читал в некоторых источниках, SQLCE плохо взаимодействует с Entity Framework. Он работает , но отлично работает с LINQ-to-SQL и соответствующим конструктором. Тем не менее, я лично рекомендую вам рассмотреть возможность объединения следующего в качестве замены:

  • Данные: SQL Server Compact Edition
  • Данные / код: LINQ-to-SQL
  • Язык программирования: C #
  • Структура приложения: WPF
    • Личное замечание: WPF действительно требует обучения, но в первую очередь это сложно для людей, которые долгое время работали с другими фреймворками (MFC, WinForms и т. Д.). Подберите хороший справочник, и вы сможете продуктивно работать в кратчайшие сроки, к тому же вы будете опытны в технологии, которую люди перемещают в сторону , а не прочь .
3
ответ дан 8 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: