Временные отчеты в MS Access 2003? - PullRequest
0 голосов
/ 19 ноября 2010

Кто-нибудь знает, есть ли способ генерировать отчеты в Access "в памяти", когда отчет не нужно записывать в коллекцию отчетов?У меня проблемы с одновременными пользователями - если у пользователя нет «монопольного доступа» к приложению доступа, генерация отчета завершается неудачно, так как для этого требуется удалить предыдущий отчет, что не разрешено.Я посмотрел на метод CreateReport, и я не уверен, может ли он выполнить то, что я ищу.

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

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

Ответы [ 3 ]

1 голос
/ 19 ноября 2010

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

Точно такой же совет применим к Access. Теперь вы используете инструмент разработки, который создает программное обеспечение, как и любая другая программа; Вы устанавливаете эту программу на КАЖДОЙ рабочей станции. Все довольно много работали в нашей отрасли более 20 лет. Возможно, вы не понимаете разницы между файлом данных (этим словом, Excel или вашей программой) и файлом приложения с пользовательским интерфейсом и кодом, который выполняется. Эта программная часть традиционно размещалась на каждом компьютере для изоляции программ.

Можете ли вы представить, чтобы у одного человека была проблема с Excel, а всем остальным приходилось идти домой, пока это исправлено? Сделайте то же самое со своим программным обеспечением, и тот факт, что вы пишете свое собственное программное обеспечение, а не приобретаете его, не является поводом для игнорирования того, как вы развертывали все свое другое программное обеспечение. Я объясняю простой процесс расщепления здесь:

http://www.members.shaw.ca/AlbertKallal/Articles/split/index.htm

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

0 голосов
/ 22 ноября 2010

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

Итак, во-первых,Приложение ДОЛЖНО БЫТЬ РАЗДЕЛЕНО.

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

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

Это ваша работа в качестве внешнего консультантачтобы исправить их проблемы.Вы должны научить их тому, что они делают неправильно.Вы утверждаете, что он работает для них, но очевидно, что он не работает, или вы сможете создавать новые отчеты для них.Поскольку вы не можете, ЭТО НЕ РАБОТАЕТ.

Еще одна вещь, которую им нужно сказать:

Кто бы ни реализовал это так, как сейчас, БЫЛ ДЕЛАТЬ НЕПРАВИЛЬНО.

IЯ работаю в Access с 1996 года, и я даже не распространял производственное приложение ни на что, кроме раздельной архитектуры с внешним интерфейсом на каждой рабочей станции.Это был правильный способ сделать это в 1996 году (с Access 2), и это еще более правильный способ сделать это после Access 2000 (когда был представлен монолитный проект Access, который запрещал редактирование объектов переднего плана, кроме случаев, когда у дизайнера были эксклюзивныедоступ).

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

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

Если они не хотят это слышать, то скажите «большое спасибо - удачи в поиске кого-то еще, кто сделает работу» и бегите так быстро, как только можете.Если вы этого не сделаете и согласитесь на их необоснованные требования, вы получите вину, если это не сработает так, как они думают.

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

0 голосов
/ 19 ноября 2010

Большинство приложений Access используют два файла доступа: программный один и один дб. БД содержит данные, и у каждого пользователя есть копия программы с прикрепленными таблицами. Отчеты могут быть созданы в программе mdb / mde, не затрагивая других пользователей.

Если вы используете модель с одним файлом, то как обходной путь, как насчет создания новых отчетов каждый раз с использованием идентификатора пользователя (например, 1234_MonthlyReport) и очистки их при выходе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...