PDA

Просмотр полной версии : Access. Вопрос по спискам


-=designer=-
24.10.2007, 15:51
Помогите!

В программировании вообще ноль, может кто поможет советом.

Ситуация, если коротко, такова:

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

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

Проблема: как вообще в запросе составить группу переключателей с возможностью выбора нескольких пунктов флажками?
Если никак, то решить вопрос другим способом?

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

добавлено через 4 минуты
С одиночными разобрался - не у того объекта в свойства лез :)

EvroStandart
24.10.2007, 16:43
Ты с начала в терминологии разберись. В запросе группы переключателей не составляются. Запросы используются чтобы получить нужные данные из таблиц.
Что значит "в одно поле друг под другом" - непонятно.

По теме - ты ерундой занимаешся.
Это делается с тремя таблицами. Из первой таблицы жанры вынести в третью.

Смотри вложение

-=designer=-
24.10.2007, 16:59
Да, не запросы а формы :) сорри.
Сейчас попробую пример сделать на том, чем зависаю.. с этим примером.. что-то не то получается в отчете... где-то недопонимаю :)

-=designer=-
24.10.2007, 17:08
Вот есть две таблицы, если посмотреть в таблице фильмы, в ячейке жанр - несколько строчек (руками внес).

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

на крайний случай можно было бы даже не на отдельных строчках а через запятую вставлять.. что-нибудь вроде %1, %2, ... , %n, это вообще не представляю как :) одним словом хочется избавиться от ручной забивки каждый раз этих жанров.

EvroStandart
24.10.2007, 17:36
В твоём примере есть только одна форма с двумя полями. Запросов не нашёл. Както непонятно что именно у тебя не заработало.

Про несколько жанров.
Одна ячейка таблицы - кусок обычного текста. Если тебе нужно видеть отдельные жанры (на пример, запрос по одному жанру) то ты получаеш кучу гиммороя. Тебе придётся писать код для проверки твоего названия в строке. А удобное удаление из середины списка вообще нереально сделать. Для добавления тоже свой код нужно писать.
Если у тебя будет много записей - всё это ещё и тормозить начнёт.

Лучше учи теорию баз данных.

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

-=designer=-
24.10.2007, 17:42
Да не, я ж сознался в ошибке :) что не про запросы, а формы речь шла.. и вот третье поле (ввода жанров) в форме не знаю как и сделать, чтообы выбирать несколько позиций из списка одновременно, занося это в одну ячейку таблицы, а не одну позицию из списка.
Создавать кучу отдельных ячеек в таблице? типа жанр1, жанр2, жанр22, жанр55 и каждому присваивать значения true/false?

На счет проблем с выборкой по жанрам представил..
Тогда как же решить дело, чтобы у одному фильму соответствовало несколько жанров, для того чтобы при выборке по жанрам трудностей не возникало?

На счет кириллицы читал, когда просматривал тут темы с access :) это я пока тестово.. пытаясь разобраться так делаю.

EvroStandart
24.10.2007, 17:47
Тогда как же решить дело, чтобы у одному фильму соответствовало несколько жанров, для того чтобы при выборке по жанрам трудностей не возникало?

Дело решено в моём примере.

Как говорится, учись студент. хе-хе

-=designer=-
24.10.2007, 17:53
Оки ) буду пробовать разбираться, если не сдамся, имх еще вопросы возникнут :)