Archive for the ‘без тега’ Category
Ошибка в MS Access
Всем привет.
Как-то у меня возникла необходимость поработать на другом компьютере. Я давно использую VSS и не хотел от этого отказываться. Но тут меня подстерегал подводный камень.
При импорте базы данных из репозитория я получил кучу ошибок, когда очередь дошла до форм. Ладно, думаю так поработаю. И не тут то было. При попытке открыть форму я увидел надпись:
“There isn’t enough memory to perform this operation. Close unneeded programs and try the operation again.”
Мне помог вот этот hostfix: http://support.microsoft.com/kb/945674/en-us. Качаем и наслаждаемся.
(с) Скоков Сергей
Импорт базы MS Access в MS Visio
Здравствуйте.
В любом проекте настает момент, когда количество таблиц увеличилось на столько, что все в голове не удержишь. И появляется желание посмотреть на схему таблиц. Это желание возникает, как правило, при пожелании пользователя чего-нибудь этакого. Что коренным образом затрагивает существующие отношения между таблицами. Или вы решили задокументировать БД и положить проект в архив до лучших времен.
Первым делом все лезут в «Сервис»->«Схема данных». Если не заполнена, то заполняют. Тут то и встает проблема. Как ее достать? Первый простейший способ это «Prt Scr» и вставить в текстовый редактор. Если же таблиц больше, чем помещается на экран, то тут можно взять “бубен” побольше – графический редактор, чтобы в нем составить картинки.
Для экстренного случая предыдущий способ подойдет. Но вот делать этот танец регулярно навряд ли кто-то захочет. Есть отличное решение – MS Visio. Оно конечно не единственное. О других средствах позже.
MS Visio умеет:
• Импортировать информацию из mdb.
• Обновлять схему из mdb.
MS Visio не умеет (в стандартной поставке):
• Создавать mdb на основании схемы.
Последний пункт немного омрачает. Но и без него хорошо живется.
Импорт информации из mdb
Для начала нам нужно создать документ типа Database Model Diagram (он находится в категории Database). Потом выбрать пункт «Database->Reverse Engineer…» и немного покликать:
1. Выбираем драйвер MS Access 97 Database (или другой необходимый)

2. Не заполняем имя пользователя и пароль (по умолчанию это так). Иначе придется заполнить.

3. Выбираем файл БД

4. Отмечаем какая информация нас интересует

5. Выбираем таблицы (обычно все)

6. Сейчас выбрано «Добавлять таблицы на страницу»

7. Финиш!

В результате мы получим документ с нашими таблицами. Если «схема таблиц» была заполнена, то Visio подтянет и связи. Руками их тоже не проблема нарисовать.
Чтобы нарисовать связь, необходимо «кинуть» на документ линию Relations. Основание линии перетаскиваем на таблицу с FK (Foreging Key или внешний ключ), а стрелку линии перетягиваем на таблицу с PK (Primary Key или первичный ключ). Если имена совпали, то связь установится автоматически. В противном случае, в таблицу с FK будет добавлено поле с именем PK. Не беда, в свойствах связи меняем поля, а лишнее поле можно удалить.
После связей останется только навести «гламурный» вид, чтобы стрелки как можно меньше пересекались, и распределить таблицы в группы по смыслу.
Обновлять схему из mdb
Это делать еще проще. Я полагаю, что документ со схемой БД уже открыт. Остается только выбрать пункт меню Database->Refresh Model и немножечко покликать как и в предыдущем пункте. В результате откроется окно найденных отличий с ними остается только согласиться. После этого придется немного подравнять схему.
Создавать mdb на основании схемы
Возможно вы подумаете, что отсутствие этой функции важный недостаток. «Нет», – скажу я вам, – «Все намного проще».
Практика показала. Разработка базы начинается методом листика, карандаша и стирки. Потом делается набросок в mdb файле. И начинает кипеть работа с логикой.
Когда же необходимо сделать реинжиниринг, то схема печатается, а дальше вступают в работу карандаш и стирка. Эти изменения вносятся в mdb и, если необходимо, схема обновляется.
До скорых встреч!
(с) Скоков Сергей
1000 и 1 способ разработки коммерческого ПО на MS Access
Здравствуйте.
На самом деле способов больше тысячи. Проще будет сказать, что он не умеет. Но так и быть я скажу, что он умеет, это даже очень просто:
Самое главное предназначение MS Access – быть средством разработки клиентов баз данных и их хранения.
Но ведь и на С++, и на Java, и на C#.NET тоже можно сделать клиента БД, скажите вы. Да, можно. Но на MS Access для этого не нужно программировать. Например, повторяющиеся, рутинные действия по реализации интерфейса можно выполнить в редакторе. После чего ваше окошко уже готово для ввода данных. Попробуйте сделать такое в более гибких средствах.
Возникает вопрос: Зачем же в MS Access встроен язык VBA? Ответ весьма прост – для того, чтобы писать бизнес логику. Без этого ну совсем никак. VBA значительно расширяет возможности – COM (читай Word и Excel) и WinAPI становятся вашими союзниками. Если вы научитесь программировать, то вы еще больше расширите границы применения MS Access. Это именно то средство, в котором манипулировать данными легко и просто.
Как писать коммерческие приложения? Коммерческим оно станет тогда, когда будет максимально автономным, т.е. пользовать запустил, и оно работает, и ему вовсе не надо задумываться о том, что программа запущена в среде MS Access. Для этого нужно обзавестись некоторым багажом знаний и немного (чуть больше, чем вы подумали) попрограммировать. Всего один раз. Дальше дело за малым: использовать готовые решения и реализовывать только отличия.
Чуть не забыл самое главное – данные! MS Access сразу предлагает вам очень удобный способ хранения любых данных – вместе с кодом ( чего лучше не делать
). В этом и заключается его ограничение. Когда все-таки встает вопрос о сервере СУБД, то MS SQL Serve и MS Access весьма дружны. А если этот сервер не такой дружественный, то можно вспомнить дальнего друга – ODBC.
MS Access не принимает за вас решения. Оно дает вам набор способов, как построить приложение, которых в 90% случаев вполне достаточно. И при этом всегда найдутся лучшие способы для достижения той или иной цели.
Итого. Везде, где фигурируют слова “ввод данных”, “печать отчетов”, может присутствовать MS Access. Вот только я бы не стал использовать его для автоматизации работы предприятия с численностью сотрудников 1000 человек. Как говорится, большому кораблю – большая торпеда.
(с) Скоков Сергей
Ближайшие темы
- сопровождаемый код в MS Access
- экспорт данных в xml файл
- импорт txt файла в базу данных
- генерация форм в файле mdb
- поиск
- использование MS VSS
- нюансы использования mySQL
Здравствуйте!
Здравствуйте, читатель!
На этом блоге Вы можете прочитать об MS Access и всём, что с ним связано – от фишек в коде до архитектурных идей. Блог будет полезен как новичкам, так и опытным разработчикам.
С уважением,
Сергей Скоков.