Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2018, 11:09   #1
pagpal
 
Регистрация: 18.09.2014
Сообщений: 4
По умолчанию Вычисление с IIf по условию другого поля

Всем добрый день. Подскажите как правильно написать формулу.

Есть главная форма frmZakazKart с полем Серія 05-КК № в котором задается последний номер акта за прошлый месяц, и подчиненная ленточная форма frmZakazKomplektKart с полем МотоЧ и № Акта.

Нужно автоматом поставить № Акта, чтобы в каждой следующей строке номер был больше на 1 от предыдущего, т.е. в первой строке к значению поля Серія 05-КК № добавить 1, а в следующем поле - предыдущий № Акта +1 и т.д., а если в поле МотоЧ проставлен 0, то № Акта считать не нужно.

Пишу формулу в ячейку № Акта подчиненной ленточной формы, и во всех строках считает одно и то же значение. Подскажите что не так.
=IIf([МотоЧ]=0;0;[Формы]![frmZakazKart]![Серія 05-КК №]+1)
Вложения
Тип файла: rar Baza1.rar (35.1 Кб, 12 просмотров)
pagpal вне форума Ответить с цитированием
Старый 18.09.2018, 11:22   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

ИМХО там формула не поможет.
Как вариант: не заполняйте №Акта. Создайте кнопку "Заполнить №Акта" в которой напиши макрос который пробежит по нужным строкам и оновит значения.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 18.09.2018, 14:33   #3
pagpal
 
Регистрация: 18.09.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
ИМХО там формула не поможет.
Как вариант: не заполняйте №Акта. Создайте кнопку "Заполнить №Акта" в которой напиши макрос который пробежит по нужным строкам и оновит значения.
Как вариант нужно модулем на событие поля.
pagpal вне форума Ответить с цитированием
Старый 23.09.2018, 12:34   #4
ValeryM
 
Регистрация: 21.09.2018
Сообщений: 3
По умолчанию

Мне кажется самая большая проблема в том, что изначально криво задана схема таблицы. Мне так и не ясно что там "курица, а что яйцо".

Почему Серія 05-КК № отображается не только в 2 формах, но и как одно поле может быть одновременно в 2х таблицах, причем с разными значениями...
поля НИКОГДА не должны повторяться в разных таблицах!!!
и надо четко выкладывать схему сразу, от главных полей к подчиненным !!!
потому что если вдруг надо у вас пойдут номера не по порядку, то обратного исправления уже введенных полей нет. Если вбивать только все от руки - это не проблема. А если как у вас: Серія 05-КК №]+1 - откуда программе знать какой именно будет номер + 1 ??? самый большой или самый последний ??? итд

В общем я ничего не понял толком.но вот как можно это слегка обойти. не изменяя схемы таблиц.
Вложения
Тип файла: rar Baza2.rar (68.4 Кб, 14 просмотров)

Последний раз редактировалось ValeryM; 23.09.2018 в 23:42.
ValeryM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение набора значений поля со списком по выбранному значению другого Поля со списком zybrra Microsoft Office Access 5 09.11.2016 20:03
Как реализовать автозаполнение поля в DbGrid в зависимости от значения другого поля Gul'ka БД в Delphi 3 21.10.2016 20:26
Выражение поля в зависимости от другого поля Евгений Антонов Microsoft Office Access 2 19.04.2015 19:10
присвоить текст с другого листа соответствующий условию KsenyaKrasa Microsoft Office Excel 10 29.05.2013 16:14
как получить значение поля грид на основе значения другого lookUp поля malayka БД в Delphi 0 21.04.2010 19:06