|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
Как бы мне при попытке создания новой записи в ленточной субформе, автоматически заносить в поле "код_записи", сгенерированный мною код. А в поле "код_связи" - значение из поля на основной форме. ------------------------------------------------------------------------ Можно на все поля субформы, на событие клик_по_полю - повесить проверку на отсутствие значений в полях "код_записи" и "код_связи" , но может быть есть другое решение ? ------------------------------------------------------------------------ СПС ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 08:47 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
Рекомендую событие Form_BeforeInsert ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 09:16 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Спасибо, попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 09:16 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58, Почему бы не генерировать нужные значения по умолчанию при переходе на новую запись ленточной субформы? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 09:18 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
Я бы выбрал событие OnDirty. Там проверяем, является ли текущая запись новой (NewRecord), если да, то вставляем код записи. BeforeInsert срабатывает только при вставке, т.е. когда юзер выходит из формы или меняет запись, а код записи, как я понимаю, он должен видеть сразу. Насчет кода связи позаботится сам акцесс, не нужно его руками заносить. Только правильно свяжите субформу с основной. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 09:22 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
guest_rusimport, Хороший вариант. Только я не понимаю как это можно реализовать. У меня имеется функция для генерации кода. Куда и как её вставить, что бы по умолчанию в нужное поле вписалось значение генерации? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 09:26 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
MrShin, Хорошо, испробую этот вариант. ------------------------------------- Каким образом access догадается, что в определённую таблицу и в определённое поле нужно вписать значение из поля другой таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 09:29 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58А в поле "код_связи" - значение из поля на основной форме. Если между формой и субформой установлена связь по этим полям, то ваш "код_связи" заполнится автоматом. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 09:43 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Связь не установлена. При желании, просто использую нужные запросы. А по умолчанию связи не устанавливаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 09:53 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58Связь не установлена. При желании, просто использую нужные запросы. А почему, если не секрет? Если нет каких-то специальных требований, то вы просто дублируете встроенные механизмы, добавляя вероятность ошибок и ухудшая производительность. Мастер-деталь в аксе реализованы весьма неплохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 11:01 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
MrShin, ни секрет ... просто нет привычки схему таблиц базы рисовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 11:06 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58, А свойство DefaultValue не хотите использовать? В процедуре OnEnter контрола субформы задавать DefaultValue для [код_связи], а в процедуре OnCurrent субформы (дополнительно проверять на NewRecord) задавать DefaultValue для [код_записи]. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 11:20 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
__Michelle, Спасибо за совет. Пока не знаю на каком варианте остановлюсь. Пробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 11:28 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58просто нет привычки схему таблиц базы рисовать. Не вижу связи между рисованием схемы и настройкой свойств мастер-деталь формы. Если связи прописаны, то формочка со свойствами просто заполнится автоматически, а так надо будет выбрать связываемые поля. Да, и прописывать связи таблиц обязательно для хорошего стиля дизайна базы, целостность данных - это же основа надежной работы системы, вы очень рискуете. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 12:09 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
MrShin, я наверное чего-то не понимаю. Я создал три формы. Первая форма не связана с таблицей, а лишь имеет некоторые поля, которые автоматом заполняются по результату поиска во второй форме. вторая форма для отображения записей, и поиска их, в основной таблице. Третья форма отображает записи из третьей таблицы(подчинённой), но только те, у которых имеется Код_связи. Все формы независимы, но отображают записи, согласно запросам, на основе которых выводят данные. Запросы отбирают записи, согласно условиям. Условиями являются поля на первой форме. Что нужно связать? И чем я рискнул, задав такую схему работы форм? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 12:32 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58, Не совсем понятна структура: все 3 формы отдельные или являются субформами основной формы? действия совершенно разные будут для обоих случаев. Если код связи, который нужно копировать в субформу находится н основной форме и является несвязным полем, но также и в этом случае можно связать субформу по этому полю, только имена полей связи придется прописывать вручную, т.к. формочка радостно сообщит о невозможности связывания, тут странная недоработка, больше похожая на багу, чем на фичу. После такого связывания код из поля на основной форме будет копироваться в субформу автоматом. И еще раз, связи в таблице и отображение на формах практически никак не связаны, рискуете, если в структуре таблиц не прописываете связи с ограничением целостности, форм к этим таблицам может не быть вовсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 14:07 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
MrShin, Первая форма не имеет источника строк. Вторая и третья формы имеют источники строк в виде запросов и лежат на первой форме. ============================================================= Во второй форме подбирается строка, для которой в третьей форме будут вводить связанные данные (типа один ко многим.). То есть в третьей форме будет много записей связанный со строкой, найденной во второй форме. А самая первая форма нужна лишь для ввода искомых значений(это либо ИНН либо часть фамилии, либо фамилия целиком). ---------------------------------------------------------------------------------------------------------------------------------------------------- Как только в списке строк второй формы появляется искомая строка, двойной клик по ней выводит в поле первой формы Код_связи, что бы можно было увидеть - имеются ли записи в третьей форме, и при необходимости, добавить новые записи в третью форму. Вот тут-то и понадобится автоматически(при создании новой записи в третьей форме) добавить в эту запись Код_связи и Код_записи. Код_связи берём из поля первой формы, куда мы его предварительно положили (двойной клик по записи во второй форме - выводит в поле первой формы Код_связи). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 19:03 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58, Теперь понятно. Делаем на первой форме свободное поле, можно скрытое, куда пишем значение Код_связи по двойному щелчку на строке второй формы. Третья форма связана с первой через это поле (мастер-деталь). Код понадобится только на двойной щелчок во второй форме, остальное сделает Акцесс. Если непонятно объяснил, могу сделать пример, но попозже. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2017, 21:24 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
MrShin, Да, поле на первой форме скрытое. Что такое Мастер-деталь? Какой Код понадобится на двойной щелчок во второй форме? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 08:57 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58, Ну вот как-то так. Дабл клик по ID в субформе 2 заполняет поле связи, остальное делает Акцесс. Я прописал только связь мастер-деталь руками, построитель связи со свободными формами не работает, см скриншот ниже. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 11:27 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
MrShin, Спасибо. Понятно. А почему в форму 2 и в форму 3 нельзя добавить новые записи? С чем связано данное ограничение? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 20:07 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
час58А почему в форму 2 и в форму 3 нельзя добавить новые записи? Как это нельзя??? Все прекрасно добавляется в обе формы. Встаем на новую строку в поле Data и пишем что хотим. Я поля с ключами не блокировал, в рабочей системе их надо будет скрыть или хотя бы запретить редактирование ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2017, 04:37 |
|
Работа с ленточной субформой
|
|||
---|---|---|---|
#18+
MrShin, Всё верно, ни чего не заблокировано. Но даже кнопка создать новую запись в панеле переходов в форме не активна. и Новой записи(пустой строки в конце списка) - не наблюдается. Чудеса. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2017, 09:43 |
|
|
start [/forum/topic.php?fid=45&fpage=71&tid=1612244]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 429ms |
0 / 0 |