Формирование строк отчета по условию

MadMax1982
Дата: 16.12.2011 02:29:32
Сильно не пинайте...просто подскажите логику как сделать или хотя бы подтолкните...

В общем так: есть таблица с данными. На ее основании надо сделать отчет ошибок. Логика отчета: если поле в таблице равно (или не равно) конкретному значению, то в отчете вывести поля записи + примечание. Условий на проверку несколько, примечание заполняется в зависимости от типа выполненного условия. Соответственно, если условие не выполняется, то запись в отчет не добавляется.
alvk
Дата: 16.12.2011 07:48:37
MadMax1982,

вы уж с чего-то хоть начните, либо mdb сюда выложите, либо текст запроса в котором "не получается", либо текст модуля. Что касается логики, то вы же её озвучили или нет? Построить отчёт на основании запроса, в котором вывести данные из таблицы + какое-то откуда-то примечание. Что такое "запись в отчёт не добавляется" я не знаю, видимо имеется ввиду "не выводится".
qwerty112
Дата: 16.12.2011 08:01:56
MadMax1982
Логика отчета: если поле в таблице равно (или не равно) конкретному значению, то в отчете вывести поля записи + примечание. Условий на проверку несколько, примечание заполняется в зависимости от типа выполненного условия.

похоже IIf ищет ..
MadMax1982
Дата: 16.12.2011 08:19:12
Попробую объяснить:

если упрощенно, есть таблица с полями a, b, c, d, e, f. Необходимо просмотреть все записи и сформировать отчет:
если у записи поле a=0, то в отчет добавить поля данной записи + в поле "примечание" "Нет кода",
если у записи поле b=1, то в отчет добавить поля данной записи + в поле "примечание" "Нет группы",
если у записи поле d<60, то в отчет добавить поля данной записи + в поле "примечание" "Неправильный вид",
и т.д.

По отдельности-то запросы на все условия я составлю, не проблема, а вот как их объединить и сформировать отчет по таблице?
MadMax1982
Дата: 16.12.2011 08:21:48
alvk
Что такое "запись в отчёт не добавляется" я не знаю, видимо имеется ввиду "не выводится".


я как раз это и имел ввиду...а заполнятся "Примечание" будет из справочника, в зависимости от того, какое условие выполняется
alvk
Дата: 16.12.2011 08:28:28
qwerty112
MadMax1982
Логика отчета: если поле в таблице равно (или не равно) конкретному значению, то в отчете вывести поля записи + примечание. Условий на проверку несколько, примечание заполняется в зависимости от типа выполненного условия.

похоже IIf ищет ..


+100 браво
alvk
Дата: 16.12.2011 08:31:42
MadMax1982
alvk
Что такое "запись в отчёт не добавляется" я не знаю, видимо имеется ввиду "не выводится".


я как раз это и имел ввиду...а заполнятся "Примечание" будет из справочника, в зависимости от того, какое условие выполняется


1. Как уже озвучили, делаете вычисляемое поле в запросе с iif (не получается см. мой первый ответ)
2. inner join 'ом привязываете к запросу таблицу с примечаниями.
3. Настоятельно рекомендую, в третий раз, выложить mdb, зря теряем время.
MadMax1982
Дата: 16.12.2011 08:37:44
alvk, я попробую, спасибо!...если не получится, в понедельник выложу mdb вместе с наработками.
mds_world
Дата: 16.12.2011 10:00:42
MadMax1982
если упрощенно, есть таблица с полями a, b, c, d, e, f. Необходимо просмотреть все записи и сформировать отчет:
если у записи поле a=0, то в отчет добавить поля данной записи + в поле "примечание" "Нет кода",
если у записи поле b=1, то в отчет добавить поля данной записи + в поле "примечание" "Нет группы",
если у записи поле d<60, то в отчет добавить поля данной записи + в поле "примечание" "Неправильный вид",
и т.д.

Если правильно понял, то задача наилучшим образом решается введением собственной функции в Select. Что-то вроде такой
Piblic Function Prim(a, b, c, d, e, f) as String
  Dim comma
  comma=", "
  If a=0 Then Prim=Prim & "Нет кода"
  If b=1 Then Prim=Prim & comma & "Нет группы"
  If d<60 Then  Prim=Prim & comma & "Неправильный вид"
  If left(Prim,2)=comma Then Prim=Mid(Prim,3)
End Function


В селекте запроса
select a, b, c, d, e, f, Prim as [Примечание]