powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Работа с ленточной субформой
26 сообщений из 26, показаны все 2 страниц
Работа с ленточной субформой
    #39491992
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как бы мне при попытке создания новой записи в ленточной субформе, автоматически заносить в поле "код_записи", сгенерированный мною код. А в поле "код_связи" - значение из поля на основной форме.

------------------------------------------------------------------------
Можно на все поля субформы, на событие клик_по_полю - повесить проверку на отсутствие значений в полях "код_записи" и "код_связи" , но может быть есть другое решение ?

------------------------------------------------------------------------
СПС
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492010
Рекомендую событие Form_BeforeInsert
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492012
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),

Спасибо, попробую.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492016
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58,

Почему бы не генерировать нужные значения по умолчанию при переходе на новую запись ленточной субформы?
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492022
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы выбрал событие OnDirty. Там проверяем, является ли текущая запись новой (NewRecord), если да, то вставляем код записи. BeforeInsert срабатывает только при вставке, т.е. когда юзер выходит из формы или меняет запись, а код записи, как я понимаю, он должен видеть сразу.

Насчет кода связи позаботится сам акцесс, не нужно его руками заносить. Только правильно свяжите субформу с основной.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492027
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

Хороший вариант.
Только я не понимаю как это можно реализовать.
У меня имеется функция для генерации кода.
Куда и как её вставить, что бы по умолчанию в нужное поле вписалось значение генерации?
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492029
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,
Хорошо, испробую этот вариант.
-------------------------------------
Каким образом access догадается, что в определённую таблицу и в определённое поле нужно вписать значение из поля другой таблицы?
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492057
час58А в поле "код_связи" - значение из поля на основной форме. Если между формой и субформой установлена связь по этим полям, то ваш "код_связи" заполнится автоматом.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492065
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),

Связь не установлена.
При желании, просто использую нужные запросы.
А по умолчанию связи не устанавливаю.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492144
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Связь не установлена.
При желании, просто использую нужные запросы.
А почему, если не секрет? Если нет каких-то специальных требований, то вы просто дублируете встроенные механизмы, добавляя вероятность ошибок и ухудшая производительность. Мастер-деталь в аксе реализованы весьма неплохо.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492154
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,

ни секрет ...
просто нет привычки схему таблиц базы рисовать.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492174
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

А свойство DefaultValue не хотите использовать?
В процедуре OnEnter контрола субформы задавать DefaultValue для [код_связи],
а в процедуре OnCurrent субформы (дополнительно проверять на NewRecord) задавать DefaultValue для [код_записи].
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492184
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,
Спасибо за совет.
Пока не знаю на каком варианте остановлюсь.
Пробую.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492228
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58просто нет привычки схему таблиц базы рисовать.
Не вижу связи между рисованием схемы и настройкой свойств мастер-деталь формы. Если связи прописаны, то формочка со свойствами просто заполнится автоматически, а так надо будет выбрать связываемые поля.

Да, и прописывать связи таблиц обязательно для хорошего стиля дизайна базы, целостность данных - это же основа надежной работы системы, вы очень рискуете.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492257
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,
я наверное чего-то не понимаю.
Я создал три формы.
Первая форма не связана с таблицей, а лишь имеет некоторые поля, которые автоматом заполняются по результату поиска во второй форме.
вторая форма для отображения записей, и поиска их, в основной таблице.
Третья форма отображает записи из третьей таблицы(подчинённой), но только те, у которых имеется Код_связи.
Все формы независимы, но отображают записи, согласно запросам, на основе которых выводят данные.
Запросы отбирают записи, согласно условиям. Условиями являются поля на первой форме.

Что нужно связать?
И чем я рискнул, задав такую схему работы форм?
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492381
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
Не совсем понятна структура: все 3 формы отдельные или являются субформами основной формы? действия совершенно разные будут для обоих случаев.

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

И еще раз, связи в таблице и отображение на формах практически никак не связаны, рискуете, если в структуре таблиц не прописываете связи с ограничением целостности, форм к этим таблицам может не быть вовсе.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492632
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,
Первая форма не имеет источника строк.
Вторая и третья формы имеют источники строк в виде запросов и лежат на первой форме.
=============================================================
Во второй форме подбирается строка, для которой в третьей форме будут вводить связанные данные (типа один ко многим.).
То есть в третьей форме будет много записей связанный со строкой, найденной во второй форме.
А самая первая форма нужна лишь для ввода искомых значений(это либо ИНН либо часть фамилии, либо фамилия целиком).
----------------------------------------------------------------------------------------------------------------------------------------------------
Как только в списке строк второй формы появляется искомая строка, двойной клик по ней выводит в поле первой формы Код_связи, что бы можно было увидеть - имеются ли записи в третьей форме, и при необходимости, добавить новые записи в третью форму.

Вот тут-то и понадобится автоматически(при создании новой записи в третьей форме) добавить в эту запись Код_связи и Код_записи.
Код_связи берём из поля первой формы, куда мы его предварительно положили (двойной клик по записи во второй форме - выводит в поле первой формы Код_связи).
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492667
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
Теперь понятно. Делаем на первой форме свободное поле, можно скрытое, куда пишем значение Код_связи по двойному щелчку на строке второй формы. Третья форма связана с первой через это поле (мастер-деталь). Код понадобится только на двойной щелчок во второй форме, остальное сделает Акцесс. Если непонятно объяснил, могу сделать пример, но попозже.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492764
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,

Да, поле на первой форме скрытое.
Что такое Мастер-деталь?
Какой Код понадобится на двойной щелчок во второй форме?
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492867
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
Ну вот как-то так. Дабл клик по ID в субформе 2 заполняет поле связи, остальное делает Акцесс. Я прописал только связь мастер-деталь руками, построитель связи со свободными формами не работает, см скриншот ниже.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39492868
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39493147
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,

Спасибо. Понятно.
А почему в форму 2
и в форму 3
нельзя добавить новые записи?
С чем связано данное ограничение?
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39493241
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58А почему в форму 2
и в форму 3
нельзя добавить новые записи?
Как это нельзя??? Все прекрасно добавляется в обе формы. Встаем на новую строку в поле Data и пишем что хотим. Я поля с ключами не блокировал, в рабочей системе их надо будет скрыть или хотя бы запретить редактирование
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39493262
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,

Всё верно, ни чего не заблокировано.
Но даже кнопка создать новую запись в панеле переходов в форме не активна.
и Новой записи(пустой строки в конце списка) - не наблюдается.
Чудеса.
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39493454
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Но даже кнопка создать новую запись в панеле переходов в форме не активна.
А база-то воо бще доступна на запись? Напрямую в таблицу можно добавить данные? У меня все доступно:
...
Рейтинг: 0 / 0
Работа с ленточной субформой
    #39493785
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,

Я открывал(запускал базу) прямо из папки zip
Потому и были проблемы.
Спасибо за пример.
Смысл понятен.
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Работа с ленточной субформой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]