Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
17 / 17 / 7
Регистрация: 05.09.2012
Сообщений: 246

Свободное логическое поле в форме для каждой записи отдельно

07.07.2015, 22:13. Показов 3200. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,

Можно ли создать в форме свободное логическое поле, которое можна изменять для каждой записи отдельно (сейчас изменив поле на одной записи формы, логическое поле изменяется для всех записей).

Данное логическое поле будет использовано как условие запроса на добавление ID выбранной записи в другую таблицу.

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

Потому хочу, чтоб логическое поле было только в форме.

Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.07.2015, 22:13
Ответы с готовыми решениями:

для каждой записи с таблицы 1,поле ФИО, выделит отдельно фамилию,имя,отчестово и запишет их в соответсвтующие поля таблицы 2.
Написать программу,которая: для каждой записи с таблицы 1,поле ФИО, выделит отдельно фамилию,имя,отчестово и запишет их в соответсвтующие...

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

Выборка по строкам в форме с выводом результата в свободное поле на форме
Доброго времени суток ! Господа, я новичек. А по сему не могу толком объяснить, что я хочу. Поэтому не обессудьте! Есть форма с...

26
 Аватар для VinniPuh
9118 / 6107 / 591
Регистрация: 27.03.2013
Сообщений: 19,919
07.07.2015, 22:19
Цитата Сообщение от AMufu Посмотреть сообщение
Можно ли создать в форме свободное логическое поле
нет, так и будет изменяться у всех , привязывайте к таблице.
1
17 / 17 / 7
Регистрация: 05.09.2012
Сообщений: 246
07.07.2015, 22:27  [ТС]
Цитата Сообщение от PuhKMV Посмотреть сообщение
, так и будет изменяться у всех , привязывайте к таблице.
Плохо. А как же быть если данную таблицу открыто одновременно в нескольких формах или еще хуже - в нескольких формах несколькими пользователями, которые будут использовать разные запросы на добавление в разные таблицы?
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
07.07.2015, 22:42
Цитата Сообщение от AMufu Посмотреть сообщение
Данное логическое поле будет использовано как условие запроса на добавление ID выбранной записи в другую таблицу.
Из ТЗ можно понять, что значение логического сессионное и как только запросы будут выполнены, оно уже как бы и не нужно. Тогда есть несколько приемов, какой из них применять можете решить только Вы.
1. Для выбора использовать не форму, а список со множественным выбором
2. Как и предлагал PuhKMV, создать вспомогательное логическое поле в самой таблице. Но очищать его сразу же после выполнения запросов с тем, чтобы оно могло пригодиться в других формах. Очистка поля запросом Update.
3. Создать вспомогательную таблицу с 2 полями: ID, равное ID в главной таблице и логическим полем. В запросе соединить таблицы по ID. Форму основать на этом запросе. При загрузке формы удалять все записи из вспомогательной таблицы и создавать заново запросом Insert Into.
2
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
07.07.2015, 22:45
А сделайте отдельную таблицу для логических полей. Галочки (Код, КодИсходнойТаблицы, Пользователь, Выбор). Уникальный сложный индекс по сочетанию полей КодИсходнойТаблицы, Пользователь, Выбор.

Источник данных формы Select ИсходнаяТаблица.*, Галочки.Выбор From ИсходнаяТаблица Inner Join Галочки On ИсходнаяТаблица.Код = Галочки.КодИсходнойТаблицы Where Пользователь=ТекущийПользователь;

Добавлено через 1 минуту
Цитата Сообщение от mobile Посмотреть сообщение
Создать вспомогательную таблицу с 2 полями: ID, равное ID в главной таблице и логическим полем.
Мало. Ему ж нужно, чтобы разные пользователи работали с галочками независимо и однвременно.
1
17 / 17 / 7
Регистрация: 05.09.2012
Сообщений: 246
08.07.2015, 00:15  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
1. Для выбора использовать не форму, а список со множественным выбором
2. Как и предлагал PuhKMV, создать вспомогательное логическое поле в самой таблице. Но очищать его сразу же после выполнения запросов с тем, чтобы оно могло пригодиться в других формах. Очистка поля запросом Update.
3. Создать вспомогательную таблицу с 2 полями: ID, равное ID в главной таблице и логическим полем. В запросе соединить таблицы по ID. Форму основать на этом запросе. При загрузке формы удалять все записи из вспомогательной таблицы и создавать заново запросом Insert Into.
Про второй и третий вариант думал, но не очень подходит. Второй - потому как возможны одновременные изменения, а третий - пришлось бы создавать много временных таблиц

А вот про список - как то не подумал. Может быть решением.

Спасибо большое.

Добавлено через 3 минуты
Цитата Сообщение от texnik-san Посмотреть сообщение
А сделайте отдельную таблицу для логических полей. Галочки (Код, КодИсходнойТаблицы, Пользователь, Выбор). Уникальный сложный индекс по сочетанию полей КодИсходнойТаблицы, Пользователь, Выбор.
Источник данных формы Select ИсходнаяТаблица.*, Галочки.Выбор From ИсходнаяТаблица Inner Join Галочки On ИсходнаяТаблица.Код = Галочки.КодИсходнойТаблицы Where Пользователь=ТекущийПользователь;
Очень хороший вариант. Самый железный.

Если с обычным списком что-то не получится - буду делать именно так.

Спасибо большое.

Добавлено через 40 минут
не могу понять. Где можно сделать множественный выбор.
Выбираю Со связным выбором, а где мульти - не пойму.
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
08.07.2015, 07:12
Цитата Сообщение от texnik-san Посмотреть сообщение
Мало. Ему ж нужно, чтобы разные пользователи работали с галочками независимо и однвременно.
Цитата Сообщение от AMufu Посмотреть сообщение
третий - пришлось бы создавать много временных таблиц
Такой вариант с временной вспомогательной таблицей по сути своей предполагает, что временная таблица локальная. А не серверная. Конечно, если сервер SQL-сервер, тогда другое дело. Но если работа с таблицами Jet SQL (таблицы Access), зачем ей быть на сервере, какое отношение она имеет к другим юзерам? Никакого. Локальная таблица и все тут. И поле юзера совсем ни к чему. Достаточно 2 упомянутых.
Но, конечно, еще раз, если файл ADP/ADE или файл с формами тоже на сервере, тогда совсем другое дело. Но для MDB, ACCDB с клиентскими частями расположение временных таблиц на сервере совершенно ни к чему.


Цитата Сообщение от AMufu Посмотреть сообщение
Выбираю Со связным выбором, а где мульти - не пойму.
Смотрите пример на основе таблиц из учебной БД Борей
Вложения
Тип файла: rar СписокВыбор.rar (62.7 Кб, 46 просмотров)
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
08.07.2015, 07:47
Цитата Сообщение от mobile Посмотреть сообщение
Такой вариант с временной вспомогательной таблицей по сути своей предполагает, что временная таблица локальная. А не серверная.
А где вообще он сказал, что у него база разделенная?

Добавлено через 2 минуты
Если разделенная и у каждого своя оболочка - то все ок, локальной таблицы со связью 1-к-1 достаточно.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
08.07.2015, 08:11
Цитата Сообщение от texnik-san Посмотреть сообщение
локальной таблицы со связью 1-к-1 достаточно.
Связь локальной и присоединенной таблиц ничего не дает. Зачем она?
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
08.07.2015, 09:09
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Связь локальной и присоединенной таблиц ничего не дает. Зачем она?
Вы не уследили за началом нашего диалога с mobile. Цитирую:

Цитата Сообщение от mobile Посмотреть сообщение
вспомогательную таблицу с 2 полями: ID, равное ID в главной таблице
вот это связь 1-к-1 и есть.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
08.07.2015, 09:22
Цитата Сообщение от texnik-san Посмотреть сообщение
вот это связь 1-к-1 и есть.
Разве я написал, что ее нет? Какой смысл в связях без обеспечения целостности данных?
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
08.07.2015, 09:34
ltv_1953, связь ФАКТИЧЕСКИ есть, по смыслу полей. О чем вообще вы справшиваете?

Зы: если у вас, как и у нас, погода +35, то все ок, я понимаю ваше состояние.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
08.07.2015, 09:36
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Какой смысл в связях без обеспечения целостности данных?
Понятно. Разница просто связей и связей с обеспечением целостности данных Вам неизвестна.
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
08.07.2015, 10:07


Мне известна разница. Вы мне можете найти место, где я вообще предлагала устанавливать эту связь?

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

Добавлено через 5 минут
Давайте еще раз, чтобы вы не переспрашивали. Говоря о связи "один-к-одному" я говорю не об установке связи в "схеме данных", а о структуре таблицы, предложенной mobile. Надеюсь, теперь вопросов уже не осталось?

Добавлено через 3 минуты
Ну и уже заодно, чтобы не вставать два раза. Вы можете рассказать мне, чем может помешать или навредить установка связи между локальной и присоединенной таблицами? Ради чего вообще было поднято это выяснение?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
08.07.2015, 10:13
Не передергивайте. Был вопрос, о том, что эта связь дает. Ответа нет.
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
08.07.2015, 11:35
Обоги. Та связь, о которой говорю я - дает возможность каждой записи в таблице топикстартера соотнести логическое поле, к которому в свою очередь можно привязать флажок на форме, так, что изменение состояния флажка в одной записи не повлияет на флажки в других записях. Иными словами, это решает поставленную топикстартером задачу.

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

Не по теме:

Зы. Посмотрела погоду в Москве. Комфортные +21.

0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
08.07.2015, 11:57
Уважаемые! Здесь нет объекта или события дискуссии. Временная генерируемая таблица, которая постоянно разрушается и воссоздается вновь, не является объектом базы данных в полном смысле этого понятия. Она не обязана соответствовать каким-либо теретическим установкам и условиям, это вспомогательный объект. Как, скажем, рисунок на кнопке в зависимости от ситуации

И насколько я понял, texnik-san говоря о связи, имела в виду гипотетическую связь в запросе. А не полноценную в схеме данных.
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
08.07.2015, 12:13
Отлично согласуются. Слово "связь" в Accessимеет один смысл, слово "связь" при обсуждении структуры таблиц - другой. В том время, как мы с mobile обсуждаем структуру временной таблицы, вы задаете вопрос о связи в Access

Цитата Сообщение от ltv_1953 Посмотреть сообщение
Связь локальной и присоединенной таблиц ничего не дает. Зачем она?
"она" - т.е. связь между локальной и присоединенной таблицами - особой пользы не приносит (разве что сокращает на 1 шаг процесс создания запросов в режиме конструктора), ничем не вредит и не мешает, но главное - ее никто и не предлагал устанавливать. Вы ее самостоятельно выдумали.

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

При этом ЦЕЛОСТНОСТЬ связи между основной и временной таблицей никому ни на какую часть тела не сдалась, т.к. таблица ВРЕМЕННАЯ и
Цитата Сообщение от mobile Посмотреть сообщение
При загрузке формы удалять все записи из вспомогательной таблицы и создавать заново запросом Insert Into.
Добавлено через 6 минут
Цитата Сообщение от mobile Посмотреть сообщение
И насколько я понял, texnik-san говоря о связи, имела в виду гипотетическую связь в запросе. А не полноценную в схеме данных.
Протестую. Связь в запросе не гипотетическая ))) даже в самом худшем случае она картезианская.
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
08.07.2015, 12:35
Цитата Сообщение от texnik-san Посмотреть сообщение
Протестую
Предлагаю Вам пофилофствовать на тему связи с несуществующим объектом.

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

Или Вы предполагаете держать ее всегда заполненную, но с пустыми чекбоксами? Это плохое решение. Для ее актуализации придется каждый раз 1. находить отсутствующие; 2. добавлять их в таблицу; 3. обновлять чекбоксы, ставить им False. Это долго и не эффективно. Да и вообще ни к чему.
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
08.07.2015, 13:04
Цитата Сообщение от mobile Посмотреть сообщение
Временная таблица возникает только в момент открытия формы.
Но возникает она не какая попало, а с вполне определенным набором полей, который мы описали запросом на ее создание. Т.е. независимо от существования физического экземпляра в данный момент времени, логическая сущность нами уже разработана, и разработана так, что она имеет связь с постоянной таблицей.

Добавлено через 7 минут
Цитата Сообщение от mobile Посмотреть сообщение
Или Вы предполагаете держать ее всегда заполненную, но с пустыми чекбоксами?
Да боже упаси. Во-первых, "всегда заполненность" и не получится, ибо никто не проектировал целостность связи )))

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

Добавлено через 1 минуту
Цитата Сообщение от mobile Посмотреть сообщение
Это плохое решение
+100500.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.07.2015, 13:04
Помогаю со студенческими работами здесь

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

Получение оборотов из регистра для каждой записи отдельно
Всем привет. Подскажите, как решить следующую проблему. Есть, допустим, таблица магазинов. Для каждого магазина мне надо получить приход...

Свободное OLE поле в ленточной форме
Добрый день! Подскажите, пожалуйста, можно ли сделать следующее: В ленточной форме по запросу формируется список, если критерий...

Программное добавление строк в свободное поле на форме
Доброе утро! Есть форма с одной кнопкой выбора папки и большое свободное поле, в которое хотелось бы выводить в реал-тайме строки...

Свободное поле на форме использующее SQL запрос Access 2007
Таблицы уже связаны по другим полям а мне нужно добавить сободное поле на форму и прикрепить-написать SQL запрос чтобы связать два поля...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru