Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
431 / 239 / 86
Регистрация: 09.04.2018
Сообщений: 1,023

Связь таблицы и формы

13.04.2018, 12:38. Показов 4839. Ответов 108
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я отфильтровал данные на основной форме. Осталось одно значение, я щелкаю по нему два раза и открывается форма "Карточка". Как заполнить поля, которые есть в "Карточке" и основной форме "ФИО" понятно, а вот как связать поля, которых нет на форме, например "Прописка"? И еще мне надо, чтобы по каждому человеку выводились данные из таблицы "Пропуск", как лучше это сделать средствами запросов или подчиненной формой? Сейчас там подчиненная форма, но она статична, не меняется в зависимости от фамилии.
Вложения
Тип файла: zip форум0411.zip (93.0 Кб, 13 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.04.2018, 12:38
Ответы с готовыми решениями:

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

Связь формы/отчета и таблицы
Здравствуйте! Подскажите можно ли и как при открытии формы/отчета присвоить ячейкам "1" и "2" значения определенных...

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

108
296 / 257 / 68
Регистрация: 18.06.2015
Сообщений: 570
17.04.2018, 14:13
Студворк — интернет-сервис помощи студентам
Так это четвертый параметр docmd.OpenForm, вы его уже использовали для открытия. Делаете карточку на базе той же таблицы, что и ФИО, блокируете поля для редактирования, если нужно и все, при открытии формы на карточке будет отображаться только одна запись. Не разберетесь - попозже переделаю форму, сейчас не могу.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
17.04.2018, 14:35
Цитата Сообщение от Kiriver Посмотреть сообщение
Подскажите, как сделать это по-другому?
Ну можно так ...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Form_Current()
'Выборка через фильтр
'--------------------------------------------------------------------------
Dim s As String
 
On Error GoTo Form_Current_Err
    s = "K_PROC=" & Me!ID_PROC
    Me.Parent!MY_STEP.Form.Filter = s
    Me.Parent!MY_STEP.Form.FilterOn = True
 
Form_Current_Bye:
    Exit Sub
 
Form_Current_Err:
    Err.Clear
    Resume Form_Current_Bye
End Sub
Вложения
Тип файла: zip db-2_v02.zip (21.9 Кб, 0 просмотров)
0
431 / 239 / 86
Регистрация: 09.04.2018
Сообщений: 1,023
17.04.2018, 17:58  [ТС]
Eugene-LS, спасибо большое, только это не моя база)) в том файле итак всё работало. Файл с моей БД называется 1504.zip. Попробую прилепить к своей.

Добавлено через 49 минут
VinniPuh, посмотрел. событие было. поудалял все макросы и процедуры. вычистил всё. проблема не ушла.

MrShin, попробовал сделать вторую форму на основе таблицы ФИО и применить к ней фильтр - не пошло. в новой форме есть подчиненная форма "пропуск" к ней после дополнительного обозначения ID фильтр применяется, но фамилия, имя и т.д остаются неизменными.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
17.04.2018, 23:35
Лучший ответ Сообщение было отмечено Kiriver как решение

Решение

Цитата Сообщение от Kiriver Посмотреть сообщение
Файл с моей БД называется 1504.zip
Хорошо.
Не уверен что я правильно понял что вы хотите, но вот некий результат по теме.
Вложения
Тип файла: zip форум0410_v02.zip (55.8 Кб, 4 просмотров)
2
296 / 257 / 68
Регистрация: 18.06.2015
Сообщений: 570
18.04.2018, 08:19
Цитата Сообщение от Eugene-LS Посмотреть сообщение
вот некий результат по теме
Да, именно это я и предложил выше, спасибо за помощь.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
18.04.2018, 08:31
Цитата Сообщение от MrShin Посмотреть сообщение
Да, именно это я и предложил выше
Ваше предложение было простым и оптимальным.
Спасибо!
Всё правильно (но я решаю иначе).
...
А что ТС напечатает - вот что интересно ...
0
431 / 239 / 86
Регистрация: 09.04.2018
Сообщений: 1,023
18.04.2018, 12:46  [ТС]
Eugene-LS, спасибо, то, что надо! Теперь можно двигаться дальше. Я пытался разобраться с OpenForm, но не получилось.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
18.04.2018, 13:16
Цитата Сообщение от Kiriver Посмотреть сообщение
Я пытался разобраться с OpenForm, но не получилось.
А вот тут поподробнее пожалуйста - что не получилось?
Это важно.
Может я вам чего путного подскажу ...
0
431 / 239 / 86
Регистрация: 09.04.2018
Сообщений: 1,023
18.04.2018, 21:15  [ТС]
Eugene-LS,
сначала я пытался через макрокоманды использовать данную команду.
--Форма-то открывалась, но без передачи ID.
--В ней есть параметр "Условие отбора" туда вбивал фильтр по "Полекод" - безуспешно.
--Потом посмотрел пример, который идет с Аксессом 2010 БД "Контакт", там сделано, как у вас - через задание переменной, но не очень понятно было, что откуда берется, т.к. описания базы нет (непонятно было что такое TempVars. Якобы группа переменных).
--Потом дошел и до прописания, как у вас, через код, но я пытался делать без переменной, т.е. я открывал форму, (OPenform), а потом применял фильтр (Applyfilter).
--Пытался сделать через дополнительное поле, но не напрямую (напрямую выдало ту самую ошибку с постоянным обновлением), а сначала открыть форму, а потом задать дополнительному полю значение ID, которое надо открыть.
---Смотрел примеры, но большинство было сделано через переменную

и вот тут я понял, что надо начинать изучать VBA))
Логически я понимаю, что там написано, но перенести в свою базу не могу.

Добавлено через 5 часов 12 минут
Продолжу серию вопросов знатокам

Теперь в свою БД я хочу добавить имена тех, кто осуществил пропуск. ДЛя этого создал таблицу (Сотрудники) с именами контроллеров ; создал таблицу (Наряды) с датой и фамилией контроллера, осуществившего пропуск; в таблице Наряды ключевой столбец - дата (не знаю правильно или нет), т.е. в одну дату может быть только один работник(пока так, может его конечно и будут менять, но об этом подумаю потом).

Теперь вопрос: мне нужно, чтобы при добавлении данных в таблицу "Пропуск", туда, в зависимости от даты, автоматически вносились данные по контроллеру. Я пытался связать таблицы различными способами: Дата(ключ)-Дата, Дата(ключ) - Наряд (таблица Пропуск) не выходит. В книге рассказывается про связующие таблицы, но это не совсем то, что нужно. Мне кажется,я просто неправильно связываю поля или данную проблему надо решать кодированием?
Вложения
Тип файла: zip форум0418.zip (90.0 Кб, 1 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
19.04.2018, 02:32
Цитата Сообщение от Kiriver Посмотреть сообщение
мне нужно, чтобы при добавлении данных в таблицу "Пропуск", туда, в зависимости от даты, автоматически вносились данные по контроллеру.
Примерно так:
Вложения
Тип файла: zip форум0418_v03.zip (71.9 Кб, 1 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
19.04.2018, 02:46
Kiriver, а ещё лучше так:
(кой - чего лишнего убрал)
Вложения
Тип файла: zip форум0418_v04.zip (68.8 Кб, 3 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
19.04.2018, 13:47
Цитата Сообщение от Kiriver Посмотреть сообщение
Наряды ключевой столбец - дата (не знаю правильно или нет), т.е. в одну дату может быть только один работник(пока так, может его конечно и будут менять, но об этом подумаю потом).
Это не совсем верный подход - посмотрите как я сделал в примере (форум0418_v03.zip - форум0418_v04.zip)
В принципе, можно вычислять сотрудника и по номеру наряда, но я вписываю его Код сразу в пропуск, это не большой расход, но за то выборка на одну таблицу проще.

Добавлено через 10 часов 44 минуты
Kiriver, я только одного не понял:
Зачем это (при открытии карточки пропуска):
Visual Basic
1
    DoCmd.MoveSize 5000, 0
Что означает и как работает - мне понятно, а зачем ???
0
431 / 239 / 86
Регистрация: 09.04.2018
Сообщений: 1,023
19.04.2018, 14:34  [ТС]
Eugene-LS, иначе у меня получалось, что карточка вниз уходила, а так она открывается там где мне надо.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
19.04.2018, 14:40
Цитата Сообщение от Kiriver Посмотреть сообщение
иначе у меня получалось, что карточка вниз уходила, а так она открывается там где мне надо.
У вас в форме карточки свойство AutoCenter = True (Центровка формы относительно окна приложения)
Должно отрабатывать штатно.
0
431 / 239 / 86
Регистрация: 09.04.2018
Сообщений: 1,023
19.04.2018, 20:53  [ТС]
Eugene-LS, подскажите еще, пожалуйста. Я создал отчет по таблице и сделал форму, чтобы вводить данные для фильтрации, так вот, когда данные в поле введены, то всё работает как надо, а вот если оставить поле пустым, то отчёт получается пустым, я пытаюсь сделать так: iif(is null([формы]![отчеты]![полефильтр]);"*";[формы]![отчеты]![полефильтр]), но не получается.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
19.04.2018, 21:19
Цитата Сообщение от Kiriver Посмотреть сообщение
когда данные в поле введены, то всё работает как надо, а вот если оставить поле пустым, то отчёт получается пустым, я пытаюсь сделать так:
Так не видно ошибки - опубликуйте пример пожалуйста с описанием точки ошибки (Объект -Событие)
Подозреваю - Что-то не так, у вас, с передачей фильтра в отчёт.
0
 Аватар для VinniPuh
9148 / 6183 / 594
Регистрация: 27.03.2013
Сообщений: 20,059
19.04.2018, 21:22
Eugene-LS, он там чего-то на пустоту умножает кажись, типа звёздочка какая то.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
19.04.2018, 21:29
Цитата Сообщение от VinniPuh Посмотреть сообщение
он там чего-то на пустоту умножает кажись, типа звёздочка какая то.
Спасибо, видел .
Думаю, лучше посмотреть - и при случае - исправить, показав как это делается обычно.
Подозреваю что опять макрос ...
0
431 / 239 / 86
Регистрация: 09.04.2018
Сообщений: 1,023
19.04.2018, 22:32  [ТС]
Eugene-LS, есть форма - Отчеты. Там сделано два отчета. Интересует нижний, который по ТС. Фильтр по датам работает нормально, надо настроить фильтр по ТС (поле "ПоискТС" туда вбивается номер машины). Если поле заполнено, то всё работает как надо, а вот если выбрать даты, а поле "ПоискТС" оставить пустым, то и отчет выходит пустым, а надо, чтобы выдавало всё, что есть за указанную дату.
VinniPuh, именно вместо звездочки я и не знаю, что надо вставить)))
Вложения
Тип файла: zip форум0410_v02_01.zip (279.9 Кб, 1 просмотров)
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
19.04.2018, 23:17
Цитата Сообщение от Kiriver Посмотреть сообщение
надо настроить фильтр по ТС (поле "ПоискТС" туда вбивается номер машины).
На скорую руку - примерно так:
Вложения
Тип файла: zip форум0410_v03.zip (93.3 Кб, 3 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.04.2018, 23:17

Двойная связь 1 поля таблицы с 2 полями из другой таблицы
в продолжение темы:https://www.cyberforum.ru/ms-access/thread1032853.html есть таблица Название рейсов с полями: -Код названия рейса ...

Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
Здравствуйте, уважаемые корифеи! Не удивляйтесь моему вопросу - ответ мне нужен для дипломного проекта. Я - студент из Киева. Не могу...

Таблицы и связь
помогите связать эти поля в аксесе дали домашнее задание сделать таблицы из этих полей и связать их....... 1. Название детали 2. Объем...

Связь таблицы
Помогите связать таблицу "Владельцы" с таблицами...

Связь формы с таблицей
Есть б/д, в ней существует 2 таблицы, допустим а/и (поля а,б,в,г,д) и р/а(а,б). 1)Если приходят данные по р/а, то мы их заносим в...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru