Что некоторые хорошие методы состоят в том, чтобы преобразовать приложение г-жи Access в.Net Application?

Помните об этом, и вам не нужно было снова запутываться в преобразовании даты и времени.

String to datetime object = strptime

объект datetime для других форматов = strftime

Jun 1 2005 1:33PM

равно

%b %d %Y %I:%M%p

% b Месяц по сокращенному имени locale (июн)

% d День месяца как десятичное число с нулевым запасом (1)

% Y Год со столетием как десятичное число (2015)

% I Час (12-часовые часы) в виде десятичного числа с нулевым запасом (01)

% M Минута как десятичное число с нулевым запасом (33)

% p Значения локали либо AM или PM (PM)

, поэтому вам нужно strptime, т.е. преобразование string в

>>> dates = []
>>> dates.append('Jun 1 2005  1:33PM')
>>> dates.append('Aug 28 1999 12:00AM')
>>> from datetime import datetime
>>> for d in dates:
...     date = datetime.strptime(d, '%b %d %Y %I:%M%p')
...     print type(date)
...     print date
... 

Выход

<type 'datetime.datetime'>
2005-06-01 13:33:00
<type 'datetime.datetime'>
1999-08-28 00:00:00

Что если у вас есть другой формат дат, вы можете использовать panda или dateutil.parse

>>> import dateutil
>>> dates = []
>>> dates.append('12 1 2017')
>>> dates.append('1 1 2017')
>>> dates.append('1 12 2017')
>>> dates.append('June 1 2017 1:30:00AM')
>>> [parser.parse(x) for x in dates]

OutPut

[datetime.datetime(2017, 12, 1, 0, 0), datetime.datetime(2017, 1, 1, 0, 0), datetime.datetime(2017, 1, 12, 0, 0), datetime.datetime(2017, 6, 1, 1, 30)]
7
задан Gilligan 19 September 2008 в 20:07
поделиться

4 ответа

Поскольку у Вас уже есть asp.net с некоторой бизнес-логикой, Вы могли открыть это до доступа как веб-сервис (asmx файлы). Google для Инструментария веб-сервисов Microsoft Office для Вашей версии доступа (xp/2003 и т.д.) и это запишет vba прокси-классы для Вас для вызова веб-сервиса. Можно связать данные веб-сервиса с формами через код (vba, чтобы читать и записать в средства управления) или составить локальные временные таблицы с данными из веб-сервиса и использовать регулярную привязку доступа.

В зависимости от того, что Вы являетесь самыми довольными (code/tsql), можно поместить логику в хранимые процедуры или в слой бизнес-логики или гибрид (оба). Я нахожу это легче к тестовому коду, чем хранимые процедуры и как то, чтобы не быть связанным с SQL-сервером для бизнес-логики т.е. если Вы хотите изменить базу данных или хотеть разрабатывать/тестировать компоненты офлайн без базы данных. Новые функции .NET, такие как LINQ имеют довольно хорошую производительность, таким образом, Вы не должны полагаться на хранимые процедуры для операций базы данных.

Сохраните пользовательский интерфейс фронтэнда доступа, пока Вы не осуществили рефакторинг всю свою бизнес-логику / доступ к данным к веб-сервисам. Можно затем создать приложение asp.net, которое использует веб-сервисы или приложение winform, если Вы хотите. (Избегите wpf как ui, в настоящее время поскольку это - крутая кривая обучения и еще не имеет datagrid, который может выдержать сравнение с режимом таблицы доступа.)

Отчеты

Банка отчетов о доступе может быть увеличена к услугам по созданию отчетов SQL-сервера (vba в отчетах, не увеличивает, и лучше записать некоторый tsql в хранимых процедурах). Если у Вас нет полного продукта SQL-сервера, можно все еще использовать управление reportviewer, чтобы записать, что Вы сообщаете (см. http://www.gotreportviewer.com/) в asp.net (или winform со стандартной версией или Visual Studio) связывающий с наборами данных ado.net.

Другие опции: Можно записать .NET dlls и использовать com interop. Этот подход позволяет Вам начинать писать функциональность постепенно. Не используйте .NET ui, например, winform, поскольку он не будет играть приятно с доступом ui. Вы могли записать бизнес-логику или логику доступа к данным и затем назвать эти классы от vba. Можно затем переместить этот код в asp.net или веб-сервисы при необходимости.

Вещи исключить:

Мне не нравится подход записи нового приложения с рядом версиями. Как единственный разработчик у Вас есть достаточно для волнения о. Вы, вероятно, закончите тем, что добавили опции в обеих версиях и отладили две версии, а не один.

vb6 формируется, interop не работает на доступ.

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

Вы можете преобразовывать свои vba модули и модули класса на vb.net с помощью Мастера Обновления Visual Basic (в Visual Studio), но это не увеличивает все (например, код дао/суматохи к коду ado.net) и не создает код, который оптимизирован для .NET и не может быть легок записать модульные тесты на в зависимости от дизайна кода vba. Я рекомендую переписать код (попробуйте Разработку через тестирование, если Вы серьезно относитесь к тестированию, чтобы видеть, нравится ли Вам он).

5
ответ дан 6 December 2019 в 15:39
поделиться

Короткий ответ: миграция не походит на что-то легко автоматизированное.

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

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

Таким образом, это - просто некоторые идеи на основе не слишком много информации. Я надеюсь, что это помогает так или иначе.

6
ответ дан 6 December 2019 в 15:39
поделиться

Я рассмотрел бы рассмотрение Инструментария Форм Interop. Насколько я понимаю этот инструмент делает это довольно простыми в использовании формами.NET из VB6, поэтому возможно, это может также использоваться из Microsoft Access? Если так, это может помочь Вам переместить приложение в.NET возрастающим способом. Делая быстрый поиск, я не мог найти любые руководства по использованию его с Microsoft Access, таким образом, я приношу извинения, оказывается ли это тупиком.

2
ответ дан 6 December 2019 в 15:39
поделиться

Преобразование в автоматическую обработку не будет хорошим решением в долгосрочной перспективе - от этой технологии отказывается Microsoft.

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

Но...

Я думаю, что Вы и компания должны думать о рисках, вовлеченных в этот проект. Что произойдет, если Вы заболеете, только на неделе, что управлению нужны некоторые отчеты, которые уже не существуют? Я предложил бы, чтобы Вы искали небольшую локальную компанию по разработке программного обеспечения, они будут рады помочь Вам. Возможно, можно расположить, что Вы продолжаете быть 'ведущим разработчиком' и только использовать их для резервного копирования.

1
ответ дан 6 December 2019 в 15:39
поделиться
Другие вопросы по тегам:

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