Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
normander
8 / 8 / 1
Регистрация: 02.03.2016
Сообщений: 33
1

Сумма из подчиненной формы, отмена записей в подчиненной форме

30.06.2016, 19:19. Просмотров 1126. Ответов 11
Метки нет (Все метки)

Нужна сразу помощь по четырем пунктам, форма КвитанцияСкупкиОбмена надо:
1. Суммирование поля Сумма в подчиненной форме с занесением в поле "Сумма сделки" в основной форме, не могу понять как правильно обратится по связанному полю "Номер" чтобы суммировало только записи с этим номером в основной форме сразу.
2. Сумма прописью, я пробовал разные способы, но у меня максимум пустое поле выдавало или "имя?"
3. Как сделать правильно условие чтобы нельзя было сохранить запись основной формы без наличия хотя бы одного поля в подчиненной форме
4. Отмена всех записей.

Базу прилагаю.
0
Вложения
Тип файла: zip Тест.zip (52.5 Кб, 7 просмотров)
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2016, 19:19
Ответы с готовыми решениями:

Запрет на создание записи в подчиненной форме при отсутствии значения в поле главной формы( или в этой же подчиненной форме) Аксесс 2003
Доброго времени суток ! Помогите , пожалуйста, решить проблему! шаг 1. ...

Выборка в подчиненной форме 2 из формы 2 по выбранному значению в подчиненной форме 1 из формы 1
Добрый день! Есть 2 формы(на первой форме находится "подчиненная форма 1", на...

Разделенная форма. Поиск записей в главной форме по значению поля подчиненной формы
Добрый день! Это моя первая БД на Access очень много вопросов поэтому прошу...

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

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

11
mobile
Эксперт MS Access
23254 / 13086 / 2726
Регистрация: 28.04.2012
Сообщений: 14,331
30.06.2016, 20:25 2
Лучший ответ Сообщение было отмечено normander как решение

Решение

По-видимому форма называется КвитанцияСкупкиОбмена?
1. Для суммирования поля Сумма в подформе сделано свободное поле summa с источником =Sum(Сумма). В главной форме в свободном поле summaMain выражение:
SQL
1
=[ОбъектыСделки подчиненная форма1]![summa]
2. Для суммы прописью из форума найдена функция СуммаПрописью и вставлена в Module2. В свободном поле на главной форме выражение: =СуммаПрописью([summaMain])

3. Способов не один. Например в соответствующей таблице нужным поля задать свойство Обязательное поле.

4. Что такое отмена в Вашем случае? Удаление всех записей? Можно запросом
SQL
1
DELETE * FROM ИмяТаблицы
Хранить общую сумму и тем более сумму прописью в таблице совсем не нужно. Всегда можно найти запросом
2
Вложения
Тип файла: rar Тест12.rar (51.2 Кб, 13 просмотров)
normander
8 / 8 / 1
Регистрация: 02.03.2016
Сообщений: 33
30.06.2016, 21:08  [ТС] 3
Цитата Сообщение от mobile Посмотреть сообщение
По-видимому форма называется КвитанцияСкупкиОбмена?
Ну я так и написал в первом сообщении
По теме - два вопроса не до конца работают.

1. В принципе то что нужно, но не сохраняет в нужной ячейке "сумма сделки" см. вложение скриншот.

3. Не прокатывает достаточно заполнить ТОЛЬКО основную форму, а подчиненную оставить пустой - ни одного поля не трогать. В моей первой базе это видно. Там в таблице "СкупкаОбмен" есть квитанция №6, а в "ОбъектыСделки" - нет ни одной соответствующей записи. Надо чтобы не пропускало на сохранение форму, если нет хотя бы одного заполненного поля в подчиненной форме.

2. Решено Есть косяки (скриншот), но зато работает, теряюсь в догадках почему у меня точно эта же функция не работала, с рабочим примером я уже разберусь - огроменное спасибо.
4. Там и так работает при нажатии кнопки "отмена", так как таблицы "СкупкаОбмен" и "ОбъектыСделки" связаны. При удалении записи в основной таблице - удаляются связанные поля по номеру в другой таблице. Но еще не понял принцип - почему иногда не срабатывает. Думал будет еще чья то интересная мысль.
0
Миниатюры
Сумма из подчиненной формы, отмена записей в подчиненной форме  
texnik-san
шапоклякистка 8-го дня
3630 / 2191 / 389
Регистрация: 26.06.2015
Сообщений: 4,648
Записей в блоге: 1
01.07.2016, 07:57 4
Цитата Сообщение от normander Посмотреть сообщение
Надо чтобы не пропускало на сохранение форму, если нет хотя бы одного заполненного поля в подчиненной форме.
Невыполнимо. Невозможно создать ни одну запись в подчиненой форме, не сохранив предварительно запись главной.
0
normander
8 / 8 / 1
Регистрация: 02.03.2016
Сообщений: 33
01.07.2016, 11:25  [ТС] 5
А где я писал про то что главную незаполненной оставить? Как раз я писал про то что Главная форма заполнена и пропускает сохранить с пустыми полями подчиненной формы. Но я уже проблему решил. Есть кнопки Ок и Отмена. Кнопок закрытия окна - нет. При нажатии на ОК - проверяется сумма, если она не больше 0 - не дает закрыть окно. Ну, а отмена удаляет запись по главной форме, а она уже связана с полями в подформе, удаляются все связанные по номеру.

Так что в общих чертах все что мне нужно - уже решено. За это уже поблагодарил mobile

P.s. Единственное что можно клацнуть колесиком мышки по вкладке, окно формы закроется и тогда даёт сохранить с заполненными полями главной формы, но пустыми полями в подформе.
0
texnik-san
шапоклякистка 8-го дня
3630 / 2191 / 389
Регистрация: 26.06.2015
Сообщений: 4,648
Записей в блоге: 1
01.07.2016, 15:33 6
Цитата Сообщение от normander Посмотреть сообщение
А где я писал про то что главную незаполненной оставить?
А где вы у меня увидели слово "незаполненной"?

Вы высыпаетесь вообще? Путатете "отменить" и "удалить", "сохранить" и "закрыть", теперь вот увидели слово "незаполненная" где-то. Не работайте на выходных, отоспитесь. По себе знаю, какая каша бывает в голове с недосыпу.
0
normander
8 / 8 / 1
Регистрация: 02.03.2016
Сообщений: 33
01.07.2016, 15:59  [ТС] 7
Цитата Сообщение от texnik-san Посмотреть сообщение
А где вы у меня увидели слово "незаполненной"?
Вы читайте всё-таки внимательнее чужие сообщения, что именно требовалось. Критично не сохранение данных в полях основной формы, а то что пропускает закрытие формы с отсутствующими записями в подчиненной форме.
И Я написал как обошел задачу по-другому пути, кнопка "Отмена" это уже пункт 4 из моего заглавного сообщения. Я сразу написал Все 4 пункта именно потому что мне нужно решить все эти недочеты сразу правильно, а не бегать на форум за каждой запятой или после того как выбрал неправильный метод.
Кликните здесь для просмотра всего текста

Не по теме:


А теперь более внимательне

Цитата Сообщение от normander Посмотреть сообщение
Надо чтобы не пропускало на сохранение форму, если нет хотя бы одного заполненного поля в подчиненной форме.
Цитата Сообщение от texnik-san Посмотреть сообщение
Невозможно создать ни одну запись в подчиненой форме, не сохранив предварительно запись главной.
Цитата Сообщение от normander Посмотреть сообщение
А где я писал про то что главную незаполненной оставить?
Я же сразу написал что проблема именно в подчиненной форме, с чего Вы привязались к тому что главная у меня не заполнена предварительно? Я же чётко и ясно написал - что мне важна проверка на наличие записей в подчиненной, в главной все в порядке!



P.S.
Цитата Сообщение от texnik-san Посмотреть сообщение
Вы высыпаетесь вообще?
С таким обращением это относится больше к Вам
0
texnik-san
шапоклякистка 8-го дня
3630 / 2191 / 389
Регистрация: 26.06.2015
Сообщений: 4,648
Записей в блоге: 1
01.07.2016, 18:30 8
Ладно, тогда общение на понедельник не переносим - вижу, что шансов, что вы вспомните разницу между словами "не сохранять" и "не дать закрыть" нет никаких. Двигаемся дальше.

Цитата Сообщение от normander Посмотреть сообщение
P.s. Единственное что можно клацнуть колесиком мышки по вкладке, окно формы закроется и тогда даёт сохранить с заполненными полями главной формы, но пустыми полями в подформе.
У формы есть событие "закрытие", и в этом случае можно обрабатывать его. Более того - именно в это событие можно перенести ту обработку, которая сейчас выполняется при нажатии кнопки ОК.

Т.е. кнопка просто пытается закрыть форму, а уже закрытие формы вызывает проверку и дельнейшие действия.

Но остается еще одна необработанная возможность: пользователь может перейти к следующей (или предыдущей) записи. Например, по кнопке PageDown.

И вот с этой возможностью самая печалька: событие "текущая запись" возникает уже на записи, на которую перешли. Чтобы проверить что-то о записи, с которой ушли - нужно создать статическую переменную, в которой запоминать уникальный идетификатор добавленной записи, а обнулять эту переменную только если проверка на наличие подчиненных записей прошла успешно.

Мысль ясна или пояснить что-то подробнее?

Добавлено через 5 минут
И да, если бы вы выложили базу в формате, совместимом с аксес 2007 - я бы не словами рассказывала, а могла б показать на примере.
0
normander
8 / 8 / 1
Регистрация: 02.03.2016
Сообщений: 33
01.07.2016, 21:53  [ТС] 9
Цитата Сообщение от texnik-san Посмотреть сообщение
вижу, что шансов, что вы вспомните разницу между словами "не сохранять" и "не дать закрыть" нет никаких. Двигаемся дальше.
Убедительная просьба, хватит придираться к словам. mobile всё практически сразу понял по сути. Я не программист VB, не какой нибудь Senior по Access, не претендую на это, но уважение - залог нормального общения.
Цитата Сообщение от texnik-san Посмотреть сообщение
Мысль ясна?
P.S. То что мне надо - я уже узнал от mobile и частично дошел сам до конечного решения моих 4 пунктов. Тема исчерпана по сути.
0
texnik-san
шапоклякистка 8-го дня
3630 / 2191 / 389
Регистрация: 26.06.2015
Сообщений: 4,648
Записей в блоге: 1
02.07.2016, 08:07 10
normander, залог не только нормального общения, но любого общения вообще - это понимание. В частности, одинаковая трактовка одних и тех же терминов. "Сохранить запись" в базе данных - это именно термин.

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

Человек начинает считать, что он нормально и правильно все сказал и запоминает именно свою трактовку как правильную. Через некоторое время он снова приходит на форум задавать вопрос, и в новом вопросе сохранена вся путаница в терминах с предыдущего раза + добавляется новая. И приходится еще сильнее напрягать внутреннего медиума, чтобы догадаться, чего же от нас хотел автор.

Честно говоря, мне поднадело учить 145 русских языков. Вспоминать, что у ВасиП слово "таблица" означает табличную форму, а у ПетиВ слово "таблица" означает лист в эксель, что у ИгоряЮ "ячейка" означает конкретное поле конкретной записи, а у КатиШ "ячейка" означает поле. А у Нормандера "сохранить запись" означает "зарыть форму".

Извините, если именно с вами я оказалась особенно резка, просто вам не повезло оказаться именно той каплей, которая уже переполнила чашу.
1
normander
8 / 8 / 1
Регистрация: 02.03.2016
Сообщений: 33
02.07.2016, 10:16  [ТС] 11
Цитата Сообщение от texnik-san Посмотреть сообщение
залог не только нормального общения, но любого общения вообще - это понимание.
Увы но придирки к терминологии - это не основание для того чтобы переходить личностные "советы"
Цитата Сообщение от texnik-san Посмотреть сообщение
Вы высыпаетесь вообще?
Моя задача была более общей- занести данные и чтобы они были целостными, если этого не соблюдено - не дать сохранить такие записи по итогу работы с формой. То есть удаление формой после себя неполных данных - именно то что и можно подразумевать "не дать сохранить"

P.S. А по "защите от дурака"
Цитата Сообщение от texnik-san Посмотреть сообщение
Но остается еще одна необработанная возможность: пользователь может перейти к следующей (или предыдущей) записи. Например, по кнопке PageDown.
Кнопки перехода по записям с помощью клавиатуры и другие кнопки - блокируются подобным способом
Перехватить нажатие клавиш Да и тут он сходу на форуме легко находится. Уже применял подобный метод у себя, но по сути - эти уже паранойя, пока отказался от такого.
0
texnik-san
шапоклякистка 8-го дня
3630 / 2191 / 389
Регистрация: 26.06.2015
Сообщений: 4,648
Записей в блоге: 1
02.07.2016, 11:50 12
Ясно. Я просто привыкла относиться к вводу сразу нескольких записей как довольно полезной возможности. Если человеку нужно внести сразу несколько новых записей в таблицу - мне кажется, ничего глупого нет в том, чтобы добавлять их, не закрывая форму, а просто переходя к следующей записи. Как минимум, так экономится время, требуемое для загрузки/выгрузки формы.
0
02.07.2016, 11:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2016, 11:50

Поиск записей в подчиненной форме по значению поля со списком в главной форме
Доброго времени суток уважаемые Форумчане! Очередной раз необходима Ваша...

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

Фильтрация записей на подчиненной форме (MS Access)
Здравствуйте! Имеется база данных и необходимо настроить фильтрацию...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru