Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/280: Рейтинг темы: голосов - 280, средняя оценка - 4.98
2644 / 1343 / 256
Регистрация: 25.10.2010
Сообщений: 2,196

Поля подстановки в таблицах

30.10.2011, 15:39. Показов 62305. Ответов 180
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане! Прочитала все, что смогла найти на форуме по проблеме использования полей подстановки в таблицах: и различные мнения, основанные на опыте работы, и эмоции типа "надоело уже...".
Например, довод, что таблица должна оставаться в первозданном виде, а все, что касается удобства ввода данных, должно реализовываться на форме, мне понравился.
НО, когда я объясняю людям, что не рекомендуется делать поля подстановки в таблицах, я должна это аргументировать.
Исходя из своего небольшого опыта, я не могу привести ни одного примера, когда поле подстановки в таблице на что-то отрицательно повлияло. База данных, спроектированная мной несколько лет назад и работающая до сих пор, содержит поля подстановок в таблицах. В том числе и такие, которые скрывают первичный ключ. Но это ни разу (!) не помешало при создании новых запросов, форм, таблиц и т.д.
Собственно мой вопрос, точнее просьба, заключается в следующем: если кто-то сталкивался с реальной ситуацией, когда поля подстановки в таблицах мешали решить задачу, поделитесь конкретными примерами.
2
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.10.2011, 15:39
Ответы с готовыми решениями:

Создать БД без полей подстановки в таблицах
Уважаемые эксперты форума, Много прочитал по проблеме использования полей подстановки в таблицах. Однако так нигде и не нашёл пошаговую...

Отдельные списки данных для подстановки - в разных таблицах
Что то я засомневался, в какой то книжке читал, что для каждого списка данных для подстановки нужна отдельная таблица, я так и сделал....

Фильтр поля подстановки по значению в другом поле
Здравствуйте! Подскажите пожалуйста простой ответик... В приложении есть БД. Как настроить поле "Субъкт федерации",...

180
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
25.05.2016, 12:54
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от sana555 Посмотреть сообщение
Что то я за сомневался...) Достаточно ли удалить поля с подстановкой, просто поменяв в таблице тип элемента управления: "поле со списком" на просто "поле"?
в-принципе да, если поле числовое.

Добавлено через 1 минуту
Цитата Сообщение от amd48 Посмотреть сообщение
Человек, который знает, чем рискует, всегда сможет найти в этих вещах для себя плюсы.
Учите теорию РСУБД и не будет таких перлов с вашей стороны.

Добавлено через 1 минуту
Цитата Сообщение от amd48 Посмотреть сообщение
Я сам пользуюсь автоподстановками и считаю это удобным.
я сам себе колю героин и знаю к чему это может привести, продолжайте..

Добавлено через 1 минуту
Цитата Сообщение от sana555 Посмотреть сообщение
Просто ответьте на вопрос в посте 63..)
я ответил, но тут уже понаписали...

Добавлено через 1 минуту
Цитата Сообщение от amd48 Посмотреть сообщение
Такое мне не грозит. Не знаю ни одного человека вживую, кто всерьёз воспринимал бы акцесс.
жалко, что между нами такое большое расстояние, очень жалко.
1
 Аватар для sysghost
40 / 40 / 6
Регистрация: 12.01.2016
Сообщений: 406
26.05.2016, 12:52
Мда
Я вот только как несколько месяцев пользуюсь access но проблем с подстановками не видел.
Пока осваивал было конечно по началу как с этим работать что бы нужное отображалось.
И да, бывает если что то непродуманно поменять в структуре данных, то могут начаться глюки, но на то нужно иметь возможность отката в виде резервной копии и быть просто внимательным.

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

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

Кроме того моя база практически не разрослась хотя я данных внес не мало уже.
Что интересно, хоть и не в тему, файл access сам по себе хоть и увеличивается, хотя это и от оптимизации зависит, а вот он же сжатый rar-ом вырос с 500 до 1000 килобайт при весе базы в 20 мегабайт!
Это со всеми базами акссес или только у меня?

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

Добавлено через 6 минут
И да, насчет багов и глюков, имхо проблема больше в том, что разработчиками access не доработан механизм правки полей подстановки в случае если менять связи из окна связей меду таблицами, когда из него связь разрывается а запись о подстановке остается в самой таблице, меняется только тип поля.
Конечно если эти хвосты не подчищать, то этот мусор и является источником непредсказуемого поведения бд.
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
27.05.2016, 03:19
Цитата Сообщение от sysghost Посмотреть сообщение
Я вот только как несколько месяцев пользуюсь access но проблем с подстановками не видел.
Что такое подстановка? Множественное поле в таблице? Поле со списком на форме? Что-то другое?
Цитата Сообщение от sysghost Посмотреть сообщение
Ели мне нужно поменять одно из значений во всей базе, я меняю его в таблице источнике и во всех таблицах, где оно подставляется, оно меняется мгновенно и автоматически, да-же обновлять форму не нужно в отличии от добавления данных через форму или запрос, если данные в таблицу вносятся через одну форму и просматриваются в другой.
При чём тут поля подстановки в таблицах? Вы пишете об обычных связях и каскадном обновлении.
Цитата Сообщение от sysghost Посмотреть сообщение
В общем как на меня неопытного как подстановка так и связи между таблицами полезны
Они не могут жить вместе, при подстановках в таблицах связи не нужны ведь

А теперь перенесите свои таблицы на SQL сервер

p.s. можно и на велосипеде всю жизнь ездить, если всю жизнь провести возле дома и никуда не ездить. Зачем машина?
p.p.s. а я работаю водителем и велосипед мне мал, да и народ не поймёт, увы.
1
 Аватар для sysghost
40 / 40 / 6
Регистрация: 12.01.2016
Сообщений: 406
27.05.2016, 10:13
Цитата Сообщение от alvk Посмотреть сообщение
Что такое подстановка? Множественное поле в таблице? Поле со списком на форме? Что-то другое?
То, что так и называется я полагал, а что еще?
В конструкторе таблиц для поля это - Поле подстановки, создаваемое мастером подстановки, и параметры этой подстановки выведены на вкладку - подстановка.
Какая еще может быть подстановка в таблицах?
В формах это уже поле со списком и источник строк вроде называется.
Цитата Сообщение от alvk Посмотреть сообщение
При чём тут поля подстановки в таблицах? Вы пишете об обычных связях и каскадном обновлении.
А как подстановка возможна без связи между таблицами?
Ну уж если есть такая связь, то для неё имхо лучше задать и каскадное обновление, иначе смысл теряется, ведь если источник данных подстановки изменился, то его нужно сразу изменить везде, где он используется, иначе в приемниках данных останется устарелая информация.
Цитата Сообщение от alvk Посмотреть сообщение
Они не могут жить вместе, при подстановках в таблицах связи не нужны ведь
Ну да, живут вместе если создаются из конструктора а не из схемы данных, но для просто связи между таблицами без подстановки можно задавать чьи значения будут основными и менять по мере надобности, а в подстановках такое недопустимо.

зы раньше и на конях ездили всю жизнь, и ничего, ну а из Ваших аргументов, то и вертолет бы не помешал, он ведь удобнее, в чем тогда проблема?
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
27.05.2016, 10:21
Цитата Сообщение от sysghost Посмотреть сообщение
А как подстановка возможна без связи между таблицами?
сначала проверять надо, а потом утверждать :
Вложения
Тип файла: rar подст.rar (8.3 Кб, 26 просмотров)
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
27.05.2016, 12:05
alvk, ну и что вы сделали одну таблицу и ввели фиксированный набор значении понятно что имеется ввиду подстановка из другой таблицы то есть как минимум должно быть 2 таблицы
Вложения
Тип файла: rar подст.rar (12.7 Кб, 20 просмотров)
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
27.05.2016, 12:27
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
ну и что вы сделали одну таблицу и
доказал, что подстановки в таблицах не нуждаются ни в каких связях с другими таблицами.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
27.05.2016, 12:31
alvk, ok, и зачем они такие нужны без связей?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
27.05.2016, 12:39
я где-то и когда-то говорил, что они нужны?
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
27.05.2016, 12:42
alvk, дак мне то они не нужны без связей)
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
27.05.2016, 12:57
Вы смешали вместе две разных сущности. Связи прекрасно поживают без них.
Основной первичный ключ - счётчик, ключевое поле.
Внешний ключ - длинное целое, индексированное, совпадения допускаются, не ключевое поле.

Остальные варианты - бесовские
1
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
27.05.2016, 13:04
alvk, что то я ничего не пойму, у меня в таблице например есть поле фирмы и забивать мне это поле нужно значениями из другой таблицы которая постоянно обновляется и что мне делать?
0
 Аватар для VinniPuh
9148 / 6183 / 594
Регистрация: 27.03.2013
Сообщений: 20,061
27.05.2016, 13:25
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
...у меня в таблице например есть поле фирмы...
Может наоборот?
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
27.05.2016, 13:27
PuhKMV, всмысле наоборот?
0
 Аватар для VinniPuh
9148 / 6183 / 594
Регистрация: 27.03.2013
Сообщений: 20,061
27.05.2016, 13:30
В таблице не может быть формы.
А вот Форма может быть основана на таблице.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
27.05.2016, 13:33
какой формы? я про формы ничего не говорил)
0
 Аватар для sysghost
40 / 40 / 6
Регистрация: 12.01.2016
Сообщений: 406
27.05.2016, 13:35
Цитата Сообщение от PuhKMV Посмотреть сообщение
В таблице не может быть формы.
А вот Форма может быть основана на таблице.
А про форму никто и не говорил, пятницо однако.

...одновременно написали
0
 Аватар для VinniPuh
9148 / 6183 / 594
Регистрация: 27.03.2013
Сообщений: 20,061
27.05.2016, 13:35
Видимо попутал, мелко очень с планшета видно.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
27.05.2016, 13:39
да ваще, эти бд хорошенько пудрят голову если честно
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
27.05.2016, 13:39
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
alvk, что то я ничего не пойму, у меня в таблице например есть поле фирмы и забивать мне это поле нужно значениями из другой таблицы которая постоянно обновляется и что мне делать?
В форме делаете поле со списком, источник строк - справочник и вперёд. А про "обновляется" - каскадное обновление ваших связей включите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2016, 13:39

Мастер подстановки на основе поля записи другой таблицы
Здавствуйте, ув. форумчане. Нужна ваша помощь в СУБД MS Access 2003. Нужно,чтобы в таблице "Табель" при выборе класса в поле...

Зависимые поля в разных таблицах
Здравствуйте, уважаемые форумчане! Подскажите, пожалуйста, такую штуку: как правильно организовать зависимые (изменяемые...

При создании поля подстановки тип данных автоматически устанавливается числовым
Добрый день. Проблема следующая: при создании поля подстановки (с получением текстовых значений из другой таблицы) тип данных мастер...

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

КАК с 1 формы заполнять одинаковые поля в разных таблицах в access
здравствуйте помогите решить проблему есть 4 таблицы в о всех них вводится название организации и номер помещения заполняется через формы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru