![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
При создании БД столкнулся с ограничением числа полей в таблице.
Мне нужно сделать около 350 полей.... таблица будет содержать около 700 записей Посоветуйте, что можно сделать |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Наличие такого количества полей в таблице обычно говорит о неправильном проектировании базы.
Экстенсивные методы обхода проблемы:
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Для того, чтобы связать 1-1.
Нужно опять таки сделать 350 полей.... Можно о структурах поподробнее.... |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
соотвественно, интеснивный метод решения проблемы - разделение на две таблицы со связями 1:N. Скажи пару слов о структуре. Сдаётся мне, что Akina прав и у тебя, IvanLis, проблемы со структурой Это сообщение отредактировал(а) skyboy - 20.6.2006, 14:21 |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
А какое максимально кол-во полей можно сделать?
а структура.... есть 30 групп людей в каждой из которых 10-30 человек каждый из них описывается 157 характеристиками (которые разбиты на 4 раздела) каждая характеристика имеет свой "вес"-коэф-т потом на основании этих характеристик и весов вычисляется обобщенная характеристика каждого человека и группы Это сообщение отредактировал(а) IvanLis - 20.6.2006, 14:43 |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
IvanLis, проблема в чём? В создании таблицы с таким большим количеством полей? Или в сложности формирования запросов при такомколичестве полей?
|
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
В создании таблицы....
и связи показателя с его весом |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
дык, вынеси все характеристики в отдельную таблицу:
id_человека id_характеристики значение_характеристики и ещё таблица: id_характеристики вес_характеристики название_характеристики |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
спасибо...
попробую, сообщу результаты |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Типичная задача построения связи многие-ко-многим. Следовательно, промежуточная таблица.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Все заработало.... СПАСИБО
А подскажите еще.... задача Есть таблица 1... id_Группы Описание группы Есть таблица 2... id_Человека id_Группы Описание человека На форме id_Группы представлен как выпадающий список ??? как сделать, что бы в поле при смене id_Группы менялось ее описание??? ??? а потом вывести всех людей относящихся к этой группе в подчиненной форме в виде ленточного списка??? все это желательно чтоб работало на одной форме! это обязательно делать через подчиненные формы? делаю через запрос... запрос работает (когда в разных формах), а когда размещаю на одной.... обновления не происходит! Это сообщение отредактировал(а) IvanLis - 21.6.2006, 08:04 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Нет, можно и без подчиненных. Но через подчиненные проще. Кода создавать меньше. Правда, полученная конструкция более костна. Что касается остального - на форуме все это есть, и не по одному разу. Озаботьтесь поиском. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Все получилось, чтолько возникла проблемма с построением запроса.....
Это сообщение отредактировал(а) IvanLis - 23.6.2006, 11:16 |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Со структурой разобрался, все работает!
Теперь проблемма такова! Не получается сделать запос... Имеем таблицу Значения показателей в ней поля: id_показателя id_человека Значение показателя ??? Необходимо выбрать Значение показателя по id_показателя и id_человека и отобразить его в Поле изначально заложено, что такой показатель всего один! Для списка все работает....
Если делать запрос для Поля то пишет #Имя?... (но это и понятно почему) Что мне делать??? Зараннее СПАСИБО! Это сообщение отредактировал(а) IvanLis - 23.6.2006, 11:42 |
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
не понял. если надо просто значения параметра, почему делать так
а не так:
|
||||
|
|||||
IvanLis |
|
||||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Этот код работает тоже только со списком.... А мне надо вернуть значение показателя в Поле Хотя и значение всего одно, но структура подразумевает несколько значений показателя.... Значит из всего списка, который является результатом запроса, надо взять одно значение. Я так пологаю... надо брать первое, только с First у меня ничего не получилось ??? Как это сделать? |
||||
|
|||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
ну ты же понимаешь что нельзя затолкать в поле набор данных. Даже состоящий из одной записи шириной в одно поле. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Но можно же из этого списка выдернуть значение....
В этом же запросе??? Тогда запрос будет возвращать ЗНАЧЕНИЕ а не СПИСОК! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Запрос всегда возвращает набор записей. ВСЕГДА. Так что получи этот набор в рекордсет и оттуда уже тащи значения. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
А как это сделать?
Напишите примерчик.... |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
Akina, это зависит от СУБД - "понимает" она, когда ей дают явное значение, или нет. Например, в MySQL проходит следующее:
Т.е. парсер по использованию min определяет, что запись только одна, и можно применять оператор сравнения "=", а не только вхождения "in". Может, такой оборот заработает и в Access? Жаль, нет под рукой, чтоб проверить. IvanLis, ты знаешь, где находятся персональные сообщения? |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
IvanLis |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 13 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
Сделал, но не так как хотелось бы....
Все через ж.....! Если есть идеи подскажите. Еще один вопрос.... При смене значения СПИСКА.... приходиться нажимать F9 тогда при обновлении формы все работает.... ??? Как сделать, что бы обновление основной формы и всех подчиненных происходило при изменении положения в списке ??? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS Access" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS Access | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |