![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 28.05.2010
Сообщений: 65
|
![]()
Здравствуйте.
В прикрепленном файле реализована связь "многие ко многим" в виде простейшей БД. В моем примере при просмотре содержимого коробки - открывается список с идентификаторами фруктов, а не с названием фруктов... А при просмотре места, где лежит определенный фрукт - ID коробки соответственно, вместо характеристик коробки... Вопрос: Как правильно настроить корректное отображение связи в MS ACCESS??? Спасибо всем заранее! Последний раз редактировалось %$PROregRAMi$t%; 05.06.2011 в 08:22. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
У Вас все правильно сделано. Только связь фрукта с коробкой 1 есть, а самой коробки 1 нет. Поэтому результат несколько отличается от ожидаемого. Чтобы избежать подобных ситуаций, поставьте галочку "Обеспечение целостности данных" при описании связи. А запрос должен выглядеть так:
Код:
Если руки золотые, то не важно, откуда они растут.
Последний раз редактировалось ovt256; 05.06.2011 в 09:52. |
![]() |
![]() |
![]() |
#3 | |
Заблокирован
Регистрация: 28.05.2010
Сообщений: 65
|
![]() Цитата:
Насчет запросов можно поподробнее, вплоть до матчасти? Последний раз редактировалось %$PROregRAMi$t%; 05.06.2011 в 10:09. |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
Создайте новый запрос с помощью конструктора запросов, добавив любую из Ваших таблиц. Переключите вид просмотра в режим SQL и замените текст запроса на присланный мной. Переключите вид запроса в режим таблица.
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
#5 |
Заблокирован
Регистрация: 28.05.2010
Сообщений: 65
|
![]()
Спасибо, сделал. Результатом запроса является таблица с полями:
Название Характеристики коробки В принципе с таким же успехом можно построить одну таблицу в екселе. ![]() Моя же задача организовать иерархическую структуру в виде открывающихся списков в акссесе. Так чтобы при вводе в конкретную коробку значений лежащих там фруктов - значения в таблице коробки-фрукты вбивались автоматом, задавая соответствие ID конкретной коробки и ID фрукта. Ну, чтобы в каждой таблице - были эти долбанные плюсики как в explorer'e на папках! ))) Нашел нужное место, открыл список, ввел, и все. В общем как-то так, как в прикрепленном ниже файле. Пароль - 2 Там одна связь, и данные в обоих таблицах повторяются... Поэтому решил переделать все в две компактные таблицы и сделать связь "многие ко многим". ЗЫ: Кстати, гляньте связь в файле ниже. Она вроде один-к-одному стоит, но по факту - один-ко-многим, не так-ли? Например в 'коробке с пометкой "Юля" ' находится 5 фруктов в то же время, как 'яблоки' лежат в двух коробках... Не глюк ли это? ![]() Пытался сделать эту связь в новом аксесс-документе - не получилось. Последний раз редактировалось %$PROregRAMi$t%; 05.06.2011 в 11:42. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
Поскольку у Вас 5 фруктов с разными названиями имеют одинаковый код 1, что не есть правильно, то именно поэтому в коробке с кодом 30 Вы и получили 5 фруктов. Так что это глюк не аксесса, а Ваш
![]() То, что Вы планируете сделать непосредственно из таблиц, невозможно (имхо). Для этого надо использовать формы.
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
#7 | |
Заблокирован
Регистрация: 28.05.2010
Сообщений: 65
|
![]() Цитата:
Теперь о моей проблеме: хорошо бы было реализовать подтаблицы в виде запросов. Сообщите пожалуйста, кто нибудь - какой запрос нужно создать для вывода наименований только тех фруктов, которые находятся в конкретной коробке: Код:
Также интересует запрос на выборку данных из "Характеристики коробки" в тех коробках, где содержится определенный тип фруктов. Как указать текущее значение в виде переменной??? Заранее спасибо! Последний раз редактировалось %$PROregRAMi$t%; 05.06.2011 в 14:43. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]() Код:
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
#9 |
Заблокирован
Регистрация: 28.05.2010
Сообщений: 65
|
![]()
В том то и дело, код исследуемой коробки необходимо каждый раз изменять.
![]() Можно ли его указать в виде изменяющейся переменной, значение которой привязано к ID активной строки главной таблицы? Последний раз редактировалось %$PROregRAMi$t%; 10.06.2011 в 22:15. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
Создайте форму на базе главной таблицы.
В запросе замените 2 на [Форма]![ID_Коробки]
Если руки золотые, то не важно, откуда они растут.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание связи многие ко многим в Delphi | rockedit | БД в Delphi | 1 | 11.01.2011 15:10 |
Связь многие ко многим | Dirt | БД в Delphi | 10 | 11.05.2010 18:28 |
Запрос из нескольких таблиц (отношение многие-ко-многим) | Машуля | SQL, базы данных | 6 | 28.03.2010 09:51 |
Связь многие-ко-многим | andirock2112 | БД в Delphi | 10 | 12.04.2009 22:05 |
Многие ко многим | ("")(Э_Є)("") | БД в Delphi | 1 | 12.03.2009 01:18 |