У меня есть база данных туристов, состоящая из двух свя...

Автор ForumOOo (бот), 26 июля 2013, 13:20

0 Пользователи и 1 гость просматривают эту тему.

Лариса

Спасибо всем! Буду пробовать по-всякому, найду оптимальный вариант. Это моя первая база. Удовлетворяя любопытство VlhOwn, скажу что мы - есть то место, куда приезжают, то есть тур только к нам. Работать с этой базой буду только я одна. Руководство даже не подозревает о моих муках. Фактически делаю для себя, облегчаю свой труд, пытаюсь все систематизировать и автоматизировать. Буду рада любым вашим советам!

VlhOwn

#16
Лариса,
в том, что посоветовал JohnSun, и на что указал Hasim, есть логика: один и тот же человек может приезжать к вам несколько раз. В этом случае Вам нужно
1. либо делать промежуточную таблицу для связи, и в таблице туристов держать записи о туристах один раз
2. либо дублировать информацию об этом туристе в таблице туристов на каждый его приезд.
В принципе, учитывая небольшой объем информации о туристе, это одно и то же. Разница будет только в алгоритме обработки.
С точки зрения теории промежуточная таблица - правильнее.

JohnSUN

Цитата: Лариса от 28 июля 2013, 17:20
Это моя первая база.
О?!! Тогда - с почином! Уверен, всё получится...
Цитата: Лариса от 28 июля 2013, 17:20...тур только к нам. Работать с этой базой буду только я одна.
Тогда всё ещё проще! Попробуй приложенный вариант. Это как раз база с промежуточной кросс-таблицей.
Работать с ней не совсем удобно: я нарочно избегал вставлять макросы, чтобы не забивать голову лишними подробностями.
Поэтому порядок работы такой: приехала группа, подали документы. Открываешь форму ФизЛица и добавляешь данные туристов, которых видишь впервые - "ветераны" там уже есть.
После этого открываешь форму Смены и вносишь данные по заезду - начало, окончание, транспорт, списочный состав (просто выбираешь в каждой новой строке людей из справочника) и старшего группы.
Цитата: Лариса от 28 июля 2013, 17:20
Буду рада любым вашим советам!
Всегда рады помочь!



[вложение удалено Администратором]
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Лариса

JohnSUN ! Спасибо огромное! Практически готовая база! особенно меня впечатлил выпадающий календарь! Как Вы это сделали???

JohnSUN

Календарь? Это где?.. А, "Заезд" и "Выезд"? Это не я сделал, это Base расстарался.
Просто я при создании таблицы "Группы" объявил, что эти поля будут типа Дата [Date]. А Мастер форм, когда делал форму по готовой таблице, автоматически для этих полей вставил элементы управления типа "Поле даты"... Правда, там по умолчанию свойство поля "Раскрываемый" стояло в "Нет", пришлось изменить на "Да".

Для этого выделил "Заезд" (зелёные маркеры вокруг и поля, и его метки), клацнул правой кнопкой мыши и выбрал из меню Группировка-Войти в группу. После этого клацнул уже на самом поле даты (зелёные маркеры высветились только вокруг "коробки для ввода", без метки), выбрал "Элемент управления" и на первой вкладке "Общие" выставил всё, что показалось нужным - минимальную и максимальную дату, раскрываемость, формат и всё такое прочее... И повторил всё то же самое для "Выезда".

А насчет "готовая база" - это, извини меня, заблуждение... До тех пор, пока эта база не будет выдавать вразумительных отчетов ("Личная карточка туриста и все его заезды", "Статистика по количеству туристов за период с... по... по сравнению с тем же периодом прошлого года", "Возрастные группы обслуженных туристов" и т.п.) - толку от неё мало. Да, будешь вносить данные, да, сможешь их просмотреть на экране... А конечная цель? Компьютер обязан облегчать жизнь человеку, а не грузить его дополнительной никому не нужной работой. Если сможешь придумать, как базу использовать в дальнейшем, то работа по внесению данных приобретёт смысл. Мечтай, не стесняйся! Запрограммировать можно всё (кроме бардака, конечно)

[вложение удалено Администратором]
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Лариса

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

JohnSUN

Цитата: Лариса от  5 августа 2013, 13:49
Как должна заполняться таблица Состав группы. Вручную?
Э? Извини, не понял вопроса...

Предполагалось, что при описании новой группы (смены, заезда), мы в форме Смены щелкнем "стрелочку со звездочкой" (Добавить запись), укажем основные параметры смены (даты начала-окончания, транспорт), потом "набросаем" в список группы людей из справочника Туристы (который перед этим пополнили в форме ФизЛица).

В последнюю очередь укажем Старшего группы - отдельное поле под списком.
И в конце концов нажмем "дискетку" (Сохранить запись)

Имелось в виду, что старший группы может быть указан в списке группы, а может и не указываться. Полный состав группы должен был бы выбираться с помощью запроса вида:
SELECT DISTINCT "Туристы".* FROM
  (SELECT "СтаршийГруппы" AS "Турист" FROM "Группы" WHERE "КодГруппы" = :КодГруппы
  UNION
   SELECT "КодТуриста" AS "Турист" FROM "СоставГруппы" WHERE "КодГруппы" = :КодГруппы ) AS tmptbl,  "Туристы"
WHERE tmptbl."Турист" = "Туристы"."КодТуриста"
То есть, даже если указать его и старшим группы, и членом группы, оператор DISTINCT все равно лишнего "съест" и этот турист будет указан только один раз.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Hasim

#22
Форму "Смены", наверное, следовало бы описать очень подробно.
Через нее идет основное заполнение данными по группам (сменам).
А там для начинающих не все так уж очевидно.

То есть, как заполнять форму можно понять довольно легко.
А вот как эта форма была создана, тут и нужны разъяснения для тех людей, которые собираются создавать собственные базы данных.


Лариса

Вот у меня есть три основные таблицы: 1.Группы, 2.Состав группы, 3.Туристы. Таблицу Группы и таблицу Туристы я сама вношу данные. А как заполняется таблица Состав группы. Или ее вообще не надо заполнять? Что то я ничего не понимаю...

Hasim

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

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

JohnSUN! Давай подробности!

Лариса

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

JohnSUN

Цитата: Hasim от  5 августа 2013, 20:42
...сойти с небес на грешную землю к начинающим пользователям.
Ой, да скукотища у вас там, у начинающих... То ли дело у нас здесь в горних высях, с офигенно продвинутыми пользователями: то курс валют задним числом подправят, то раскладку клавиатуры не переключат и просят надцать абзацев текста на человеческий язык перевести, то забытый пароль восстановить, то сбегать рассказать что означает странное окно "В открываемом документе обнаружен макрос, макросы могут быть вирусами..." И всем срочно.
Дружище, мы знакомы не первый день! Неужели ты действительно решил, что я отмалчиваюсь "из лени"?
Цитата: Hasim от  5 августа 2013, 20:42
Короче, в таблицы вообще лезть не нужно.
Все таблицы заполняются через формы.
Вау! Да у тебя не плохо получается! Продолжай...
Цитата: Hasim от  5 августа 2013, 20:42
JohnSUN! Давай подробности!
Сам давай... Появится время (надеюсь, что когда-то этот момент настанет!) - присоединюсь. Может, мультик набросаю или еще чего... А пока - сорри!
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Лариса


JohnSUN

Поможем, конечно, и с радостью.

Поняла эту фразу Hasim'а?
Цитата: Hasim от  5 августа 2013, 20:42
Короче, в таблицы вообще лезть не нужно.
Все таблицы заполняются через формы.

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

Так и с нашей базой. Таблицы Туристы, Группы и СоставГруппы хранят какие-то данные. Но для их просмотра и изменения, для внесения новых данных используются формы ФизЛица и Смены.
Обратила внимание, что сразу после открытия базы офис открывает раздел базы Формы? Именно для того, чтобы долго не искать, с чем работать дальше: основная работа с данными ведется именно отсюда.
В раздел Таблицы вернемся, когда нужно будет изменять структуру таблиц...
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Лариса

Да все это мне понятно. Как сложно все объяснить, что мне нужно и что мне непонятно! и в городе никаких курсов нет!!!