К разработке проекта
присоединяется Alex,
так что прошу любить и жаловать!
Проектирование таблиц базы -
процесс очень важный, даже скорее самый важный:
За это дело нельзя браться без конкретного
представления о том, что хотите получить. Если
таблица будет хранит большое количество данных
(тысяч двадцать), то тут надо максимально
продумать структуру, по возможности максимально
использовать поля подстановок, отказаться от
строковых выражений, а использовать подстановку.
Конечно, потом можно скорректировать таблицу, но
лучше это сразу сделать на стадии разработки,
чтобы потом не было мучительно больно.
...
Рассмотрим закладочку Подстановка в
конструкторе таблиц.
Рассмотрим этот момент поподробнее...
Тип элемента управления:
Поле со списком
Также там имеются значения:
Поле-это простое поле, в котором просто
хранятся данные... Список - наглядно в таблице разницы никакой,
разница между списком и поле со списком будет
только на форме, когда ты будешь тянуть на форму
это поле... Но разница огромна настолько, что я его
описывать не буду... Сам догонишь.
И Поле со списком - В общем это такая
заморочка, которая будет облегчать тебе жизнь.
Оставим это значение и покапаем его:
...
Мы решили максимально ускорить процесс
разработки базы, т.ч. не проспите:
С полной версией статьи можно ознакомиться здесь, там же можно закачать пример
базы.
Вопрос 1: В 4 выпуске вы
приводили пример запроса на обновления
UPDATE [Таблица1] SET [Таблица1].[Поле1] = 9,
[Таблица1].[Поле2] = 5 WHERE ((([Таблица1].[Поле0]<10));
но у меня в 97 офесе выдовала ошибку, в этом месте
((([Таблица1].[Поле0]<10));
и заработало только в таком виде:
UPDATE Таблица1 SET Таблица1.Поле1 = 9, Таблица1.Поле2 = 5
WHERE (((Таблица1.Поле0)<10 And (Таблица1.Поле0)<10));
Ответ: Извиняюсь за ошибку,
просто поставил лишнюю скобочку. Надо так:
UPDATE [Таблица1] SET [Таблица1].[Поле1] = 9,
[Таблица1].[Поле2] = 5 WHERE (([Таблица1].[Поле0]<10));
Вопрос 2: В 4 выпуске вы
приводили набор функций для перевода числа в
пропись. Можно пример сабжа, а то у меня постоянно
какие-то ошибки выскакивают. Да и ещё, вопрос от
чайника, вот вы даёте разные функции, их нужно
записывать в Модули? И как их потом выполнять, а
то опять одни ошибки
Ответ: Мы сделали рабочий пример
с этими функциями - качайте и изучайте: Propis.zip.
Вопрос 3: Пытаюсь начать
освоение MSAccese и сразу возникли вопросы.
1. Можно ли из одной таблицы где указаны названия
блоков - в одном поле на английском, в другом на
русском вставить с помощью мастера подстановки
или каким-либо другим способом сразу два поля в
другую таблицу с данными о блоках?
2. Можно ли вносить данные сразу в две таблицы
одновременно?
3. При создании подстановки через "мастера
подстановок" в окне схемы базы данных
отображается простая связь, а не один ко многим.
Ответ: С помощью мастера
подстановок вставку сразу в два поля невозможно
сделать. Для этого делаем с помощью мастера
вставку в одно поле, а в VBA на событие "после
обновления" пишем свой код, который вытягивает
нужную информацию и заполняет необходимое поле в
форме.
Когда мы вставляем, напимер, 2 таблицы в
конструкор запросов, то он автоматически делает
для них связи, которые определены между ними в
схеме данных базы, если таких связей нет в схеме
данных, то конструктор автоматически связывает
два одинаковых поля таблиц. Как правило нам такие
связи не нужны и поэтому их лучше сразу удалять и
определять свои (хотел как
лучше, а получилось как всегда...:). Скоро нам
придется решать подобную проблему при
разработке складской базы, так что лучшим
ответом будет хороший пример...
(Access-97) Частенько в очетах нам необходимо
выводить числа прописью (например в ТТН, С/Ф и др.).
Мы сделали пример использования подобных
функций перевода чисел в пропись средствами
Microsoft Access ' 97. Просто копируйте модуль в свою базу
и используйте его функции.