|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
Здравствуйте, я в аксессе не очень от слова не очень, прошу не пинать, если путаюсь в терминологии. В общем существует небольшое приложение - т.е. ленточная форма для обработки/добавления для ручного ввода разных тех.данных Код товара - название -...- квота. Квоту пользователь вбивает вручную, задача среди прочего состоит в том, чтобы проверить сумму квот для позиций. Если юзер введет квоту, которая доведет сумму квот по этой позиции до > 100, надо выдать сообщение об ошибке и откатить изменения. Я наивно думал создать на форме скрытое поле с содержанием Сумма("квота"), и создавать ошибку, когда сумма превысит 100, но оно конечно так не работает. можно это как-то по дзену решить? буду благодарен за ссылки ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 15:21 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
Heisenberg, проверять на событии BeforeUpdate, если не устраивает - отменять: Cansel = true ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 15:29 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
в конструкторе таблицы: ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 16:12 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
Heisenberg, гурД проверять на событии BeforeUpdate, если не устраивает - отменять: Cansel = true не работает к сожалению авторв конструкторе таблицы: у меня нет аксессовской таблицы, увы, это доступ к оракловской инстанции через passthrough ODBC я пробовал прицепить на скрытое поле суммы ValidationRule, все равно вызывается только после апдейта ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 16:26 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
HeisenbergЕсли юзер введет квоту, которая доведет сумму квот по этой позиции до > 100, надо выдать сообщение об ошибке и откатить изменения. Дополню совет гурД . Проверить можно так: Код: vbnet 1.
HeisenbergЕсли юзер введет квоту, которая доведет сумму квот по этой позиции до > 100, надо выдать сообщение об ошибке и откатить изменения. Если объясните про "сумму квот" - поможем с Условие -м. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 16:44 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
HeisenbergHeisenberg, гурДпроверять на событии BeforeUpdate, если не устраивает - отменять: Cansel = true не работает к сожалению Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 17:04 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
дополню Гурд: Вам толкуют о событии "до обновления" поля, а не записи (записи в таблице еще нет) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 17:08 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
sdku... (записи в таблице еще нет)...Кто сказал? Совсем вроде не обязательно.Heisenbergленточная форма для обработки/добавления для ручного ввода ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 17:24 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Если объясните про "сумму квот" - поможем с Условие -м. в общем есть оракловая таблица, к ней в аксессе прилеплена такая ленточная форма "зоопарк номер 6 - список животных" н зверь квота 1 - Слон - 25 2 - Бегемот - 25 3 - Крокодил - 40 тут юзер такой вводит "4 - Жираф - 30" и тянется к кнопке "сохранить животных". самое позднее при нажатии кнопки требуется выдать сообщение об ошибке "общая квота в зоопарке сейчас превысит 100 (в сумме будет 120), попробуйте еще раз" и стереть запись про жирафа ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 17:51 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
вот так на тестовой табличке работает, спасибо теперь только понять, как мне из оракловой таблицы вытащить DSum для зоопарка номер 6? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 18:07 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
__Michellesdku... (записи в таблице еще нет)...Кто сказал?Не знаю кто сказал. Так она ж еще не сохранена-как она запишется в таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 18:13 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
а, все, понял, всем спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 18:17 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
Не, не совсем разобрался. как сообщить функции , что я ищу сумму квот именно для этого зоопарка? я попробовал Код: vbnet 1.
вижу правильное значение Me.Parent!ZOO_ID в дебаге, но DSum выдает сумму квот по всем зоопаркам ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 18:30 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
sdku__Michelleпропущено... Кто сказал?Не знаю кто сказал. Так она ж еще не сохранена-как она запишется в таблицу?Могут редактировать значение квоты в уже существующей записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 18:43 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
__Michelle, Редактировать сохраненные записи-за нахрена такая БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 20:06 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
sdku, Да мало ли... А что такого? Что написано пером, то не вырубишь топором?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 20:13 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
HeisenbergНе, не совсем разобрался. как сообщить функции , что я ищу сумму квот именно для этого зоопарка? я попробовал Код: vbnet 1.
вижу правильное значение Me.Parent!ZOO_ID в дебаге, но DSum выдает сумму квот по всем зоопаркам -третий аргумент функции Dsum-стинг и синтаксис должен быть таким: ..,"ZOO_ID=" & me.ZOO-ID). В HELPе все написано ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 20:13 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
sdku__Michelle, Редактировать сохраненные записи-за нахрена такая БД? Записи постоянно и произвольно редактируются, главное чтобы сумма не превышала 100 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 20:54 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
sdku-третий аргумент функции Dsum-стинг и синтаксис должен быть таким: ..,"ZOO_ID=" & me.ZOO-ID). В HELPе все написано Спасибо, завтра попробую. Пока временное решение нашел - скрытое поле с DSum (item_quote), с ним сравниваю, пока работает ) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 20:57 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
HeisenbergЗаписи постоянно и произвольно редактируются, главное чтобы сумма не превышала 100Если Вас не интересует что было с жирафами до последнего редактирования-флаг Вам в руки (редактируя существующие записи Вы лишаетесь истории) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 21:28 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
sdkuHeisenbergЗаписи постоянно и произвольно редактируются, главное чтобы сумма не превышала 100Если Вас не интересует что было с жирафами до последнего редактирования-флаг Вам в руки (редактируя существующие записи Вы лишаетесь истории) У нас имеется оракловский триггер на табличке, который записывает все апдейты и дилиты в историческую таблицу, в общем там вся бизнес-логика в оракле, эта форма - костыль для 2,5 маркетологов, которые знают вес жирафа ) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2017, 23:40 |
|
Проверить сумму полей на ленточной форме до апдейта
|
|||
---|---|---|---|
#18+
Heisenbergsdkuпропущено... Если Вас не интересует что было с жирафами до последнего редактирования-флаг Вам в руки (редактируя существующие записи Вы лишаетесь истории) У нас имеется оракловский триггер на табличке, который записывает все апдейты и дилиты в историческую таблицу, в общем там вся бизнес-логика в оракле, эта форма - костыль для 2,5 маркетологов, которые знают вес жирафа ) Так и напишите: там всего неск строчек будет. И логгируйте, где хотите и как хотите, хоть по емэйл.. Забыл вчера сказать. Если критично именно мнение не одного жирафа, и не все только его и ждут, а имеется некий конвенциальный, накопительный и т.п. порядок внесения в базу этих пропорций - см в сторону транзакций (есть в объектной модели Аксесса, есть в ADO...) Смысл в том, что запросы\комманды, обёрнутые в транзакцию, либо исполняются все пакетно, либо идёт откат всех, если таким программным образом "не удалось договориться"... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2017, 19:33 |
|
|
start [/forum/topic.php?fid=45&msg=39412715&tid=1612681]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 153ms |
0 / 0 |