Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 14.05.2020
Сообщений: 8

Изменение множества значений в таблице на одинаковые из формы

21.05.2020, 17:52. Показов 1957. Ответов 20

Студворк — интернет-сервис помощи студентам
Добрый день! Прошу помочь разобраться как сделать следующую вещь:
Есть оборудование (каждая его единица уникальна, учитывается серийный номер), есть список объектов, один из них "Склад", где по-умолчанию размещается все оборудование. Необходимо отправлять оборудование со склада на объекты, при каждой отправке может отправляться несколько единиц оборудования.
Сделал таблицы:
"Оборудование" (Серийный номер (ключ), Название, Размещение),
"Состав отправки" (Номер отправки, Серийный номер),
"Отправка" (Номер отправки, Получатель)
"Объекты" (Номер объекта, Название)
Как сделать, чтобы при выборе "Получателя", после сохранения это значение применялось ко всему "Оборудованию", входящему в отправку?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.05.2020, 17:52
Ответы с готовыми решениями:

Разбиение множества на примерно одинаковые (по сумме значений элементов) подмножества
Здравствуйте. Параметры: Есть некоторое множество {N} из n элементов. Есть значение m (кол-во подмножеств, на которое должно...

изменение значений в таблице
есть ограничения: 2х1+6x2<=6000 7x1+6x2<=8400 3x1+x2<=3000 x1=>0 x2=>0 у меня получилось x1=873 x2=382 по поиску решения. ...

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

20
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
21.05.2020, 19:41
А это учебная или рабочая БД?
Для рабочей маловато будет.
По идее нужно вести учёт, по датам.
Возможны ли возвраты оборудования на склад.
Кто получил, кто отправил.
Не менее 20 табличек нужно, включая справочники.
1
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
21.05.2020, 20:22
Цитата Сообщение от anton147147 Посмотреть сообщение
Как сделать, чтобы при выборе "Получателя", после сохранения это значение применялось ко всему "Оборудованию", входящему в отправку?
В таблице - это вряд ли. Макросы данных не уровень учебных задач. В формах - запросом на обновление. Но лучше ничего не изменять в таблицах, определять текущее размещение оборудования запросом.
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.05.2020, 20:34
Цитата Сообщение от anton147147 Посмотреть сообщение
Как сделать, чтобы при выборе "Получателя", после сохранения это значение применялось ко всему "Оборудованию", входящему в отправку?
Если в таблице Отправка поле [Номер отправки] уникально, то Ваше пожелание легко осуществляется в форме, где таблица Отправка на главной форме, а [Состав отправки] это подчиненная форма. Причем подформа связана с главной по свойствам контрола-контейнера подформы Основные поля/Подчиненные поля по полю [Номер отправки]. Больше ничего не придется делать. Как только появится на главной номер отправки, подформа немедленно отфильтруется по этому полю
0
0 / 0 / 0
Регистрация: 14.05.2020
Сообщений: 8
21.05.2020, 20:35  [ТС]
Цитата Сообщение от VinniPuh Посмотреть сообщение
А это учебная или рабочая БД?
Для рабочей маловато будет.
По идее нужно вести учёт, по датам.
Возможны ли возвраты оборудования на склад.
Кто получил, кто отправил.
Не менее 20 табличек нужно, включая справочники.
Это учебная база, которая после создания будет использоваться для личного пользования
Вы правы, безусловно в базе планируются и справочники и различные учеты, но на текущий момент возник этот вопрос, который пока не позволяет двигаться дальше(
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
21.05.2020, 20:45
Цитата Сообщение от anton147147 Посмотреть сообщение
Как сделать, чтобы при выборе "Получателя", после сохранения это значение применялось ко всему "Оборудованию", входящему в отправку?
И делать ничего не нужно.
Код Отправки - Известен
Код Получателя - Известен
Состав Отправки - Известен
- Строим запрос на выборку по коду отправки и получаем Состав Отправки + Код Получателя.
... или я чего не так понял?
0
0 / 0 / 0
Регистрация: 14.05.2020
Сообщений: 8
21.05.2020, 23:06  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Если в таблице Отправка поле [Номер отправки] уникально, то Ваше пожелание легко осуществляется в форме, где таблица Отправка на главной форме, а [Состав отправки] это подчиненная форма. Причем подформа связана с главной по свойствам контрола-контейнера подформы Основные поля/Подчиненные поля по полю [Номер отправки]. Больше ничего не придется делать. Как только появится на главной номер отправки, подформа немедленно отфильтруется по этому полю
Вроде бы Форма и Подформа связаны, к сожалению, не разобрался что такое контрол-контейнер
Сейчас получается, что в форме могу выбирать "Объект", создается номер отправления, он же записывается в подформу и в ней можно выбрать набор оборудования, отфильтрованного по [Размещение] - "Склад", после сохранения создаются соответствующие записи в таблицах "Отправка" и "Состав отправки". В таблице "Оборудование" поле [Размещение] конечно же не меняется.
Мысль была, что именно по изменению значения поля [Размещение] смогу контролировать движение оборудования. Или это можно делать как-то иначе?
Приложу на всякий случай файлик
Вложения
Тип файла: rar Тест.rar (55.2 Кб, 6 просмотров)
0
0 / 0 / 0
Регистрация: 14.05.2020
Сообщений: 8
21.05.2020, 23:11  [ТС]
Цитата Сообщение от ltv_1953 Посмотреть сообщение
В таблице - это вряд ли. Макросы данных не уровень учебных задач. В формах - запросом на обновление. Но лучше ничего не изменять в таблицах, определять текущее размещение оборудования запросом.
То есть в таблице "Оборудование" не хранить его размещение? Просто, если в ней хранится текущее размещение, то я могу с помощью фильтров в "Состав отправки" включать только то оборудование, которое на складе.
Не могли бы Вы подсказать, как с помощью запроса определять текущее расположение?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
22.05.2020, 01:55
Цитата Сообщение от anton147147 Посмотреть сообщение
текущее расположение
Это последнее размещение. В Ваших таблицах должна быть информация, позволяющая определять, какое последнее (дата в отправке, например).
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
25.05.2020, 06:45
Цитата Сообщение от anton147147 Посмотреть сообщение
не разобрался что такое контрол-контейнер
Это то, куда вставляется подчинённая форма. Ищите лучше, у них свойства разные.
0
0 / 0 / 0
Регистрация: 14.05.2020
Сообщений: 8
26.05.2020, 14:42  [ТС]
В итоге решил вопрос созданием запроса на обновление поля [Размещение] таблицы "Оборудование" на значение поля [Получатель] таблицы "Отправка" и условие отбора изменяемых значений из таблицы "Состав отправления".
Но, конечно же, такой способ врядли является оптимальным, так как при каждом выполнении запроса повторно обновляются значения из ранних отправлений
0
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
27.05.2020, 12:16
anton147147, Обратите внимание на таблицу Состав отправления - код отправки - числовой, но не счётчик. Также таблица Оборудование Ключевое поле у вас Серийный номер имеет тип Текстовый. Можно тогда формат поляСерийного номера узнать? Номер будет содержать буквенное наполнение?
0
0 / 0 / 0
Регистрация: 14.05.2020
Сообщений: 8
29.05.2020, 19:11  [ТС]
Цитата Сообщение от matva Посмотреть сообщение
anton147147, Обратите внимание на таблицу Состав отправления - код отправки - числовой, но не счётчик. Также таблица Оборудование Ключевое поле у вас Серийный номер имеет тип Текстовый. Можно тогда формат поляСерийного номера узнать? Номер будет содержать буквенное наполнение?
В таблице "Состав отправления" поле [Код отправки] числовое, так как оно соотносится с ключевым полем [Код отправки] таблицы "Отправка"
В таблице "Оборудование" ключевое поле имеет тип текстовый, так как предположил, что серийный номер является уникальным для любого оборудования, соответственно повторов быть не может, поэтому не стал вводить счетчик. Поправьте, пожалуйста, если размышления неверные.
0
0 / 0 / 0
Регистрация: 14.05.2020
Сообщений: 8
29.05.2020, 19:16  [ТС]
Прошу помочь разобраться с созданием формы:
Есть основная форма "Отправка" (и соответствующая ей таблица), где выбираем куда отправить оборудование и др.
У нее есть подчиненная форма "Состав отправления" (и соответствующая таблица), где нужно из выпадающих списков выбирать Тип оборудования, Название (зависит от типа) и серийный номер (зависит от названия).
Если запускать основную форму и водить в ней состав отправления, то выскакивает окно с запросом ввода тех же самых параметров(
Если тоже самое делать отдельно в подчиненной форме, такого запроса не вылазит
Вложения
Тип файла: rar Тест.rar (55.9 Кб, 3 просмотров)
0
ᴁ ©
Эксперт MS Access
 Аватар для АЕ
4157 / 2446 / 508
Регистрация: 13.12.2016
Сообщений: 8,313
Записей в блоге: 5
29.05.2020, 22:19
Цитата Сообщение от anton147147 Посмотреть сообщение
выскакивает окно с запросом ввода тех же самых параметров
Так у вас полей нет. Свободные они все - куда вводите? Привязывайте к таблице.
0
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
29.05.2020, 22:25
anton147147, Примерчик не открылся у меня, но предположу, что нужно делать по правилам, а не так как хотся.
Так же такая фигдня бывает, если например переименовали ИМЯ и соответственно в запросе это имя поля или таблицы уже совсем не то.
Обычно первым делом смотрю на то, в где первым стоит словечко - Выражение:....
В там и нужно копошится.
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
29.05.2020, 23:59
Лучший ответ Сообщение было отмечено anton147147 как решение

Решение

anton147147, извините похозяйничал у вас малость ...
Но ваши ошибки чудовищны!
Внимательнее, уважаемый, внимательнее!
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub ComboBoxСерийныйНомер_GotFocus()
Dim s$
    If Me!ComboТипКод.ListIndex > -1 Then
        s = "SELECT Оборудование.[Серийный номер], [Справочник оборудования].Название " & _
            "FROM [Справочник оборудования] INNER JOIN Оборудование ON [Справочник оборудования].[Код названия] = Оборудование.[Код названия] " & _
            "WHERE ((([Справочник оборудования].[Код типа]) = " & Me!ComboТипКод.Column(0) & ")) " & _
            "ORDER BY [Справочник оборудования].Название"
      Else
        s = "SELECT Оборудование.[Серийный номер], [Справочник оборудования].Название " & _
            "FROM [Справочник оборудования] INNER JOIN Оборудование ON [Справочник оборудования].[Код названия] = Оборудование.[Код названия] " & _
            "ORDER BY [Справочник оборудования].Название"
            Me!ComboТипКод.SetFocus
            Me!ComboТипКод.Dropdown
      End If
      Me!ComboBoxСерийныйНомер.RowSource = s
      
End Sub
 
Private Sub ComboBoxСерийныйНомер_LostFocus()
Dim s$
    'в исходное!
    s = "SELECT Оборудование.[Серийный номер], [Справочник оборудования].Название " & _
        "FROM [Справочник оборудования] INNER JOIN Оборудование ON [Справочник оборудования].[Код названия] = Оборудование.[Код названия] " & _
        "ORDER BY [Справочник оборудования].Название"
    Me!ComboBoxСерийныйНомер.RowSource = s
End Sub
 
Private Sub ComboТипКод_AfterUpdate()
    Me!ComboBoxСерийныйНомер = Null
End Sub
Вложения
Тип файла: zip Тест_v02.zip (51.7 Кб, 2 просмотров)
0
 Аватар для VinniPuh
9131 / 6137 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
30.05.2020, 06:50
Ни когда не понимал тех, кто задает имена полям и объектам на разных языках.
А тут похоже даже в одном имени используется и Русский и Буржуинский.
Так невольно и ошибочку можно допустить при написании выражений..
На садомазахизм чем то даже это похоже, ибо происходит искусственное усложнение при создании БД.
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
30.05.2020, 10:10
Цитата Сообщение от VinniPuh Посмотреть сообщение
Ни когда не понимал тех, кто задает имена полям и объектам на разных языках.
Конкретно эти объекты of формы (участвующие в празднике VBA) именовал я.
Назвать комбик по русски у меня хенд не поворачивается, + русское направление на поле в таблице только фор лучшего андерстендинга [ТС] -ом .
1
0 / 0 / 0
Регистрация: 14.05.2020
Сообщений: 8
01.06.2020, 15:08  [ТС]
Большое спасибо! Буду разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.06.2020, 15:08
Помогаю со студенческими работами здесь

Добавление и изменение данных в таблице значений
Доброго времени суток,есть задача изменять и добавлять в таблице значений данные пробовал реализовать так Перем Заочное; Перем...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru