1

Есть две таблицы, оператор заполняя некую форму формирует одну из таблиц полностью(в примере "Заполняемая таблица 2"), так же он заполняет и вторую таблицу (в примере "Заполняемая таблица 1"). Но вторая таблица, так же может пополнятся и из других источников. Задача при формировании запроса из этих двух таблиц. В поле "Версия"(в примере Версия "ДатаТаб1") выводить самую свежую версию, а в поле "Дата" выводить только даты "посещения" (в примере это поле "ДатаТаб2"), но если дата из таблицы 1(то есть в поле "ДатаТаб1"), больше чем дата в таблицы 2 (в поле "ДатаТаб2"), то ставить какую не будь отметку в сформированном отчете, к примеру звездочку (*) после этой даты или версии, как бы символизируя, что версию обновили уже после посещения... То есть другими словами, можно ли при запроси на основании данных двух таблиц, преобразовывать данные в записях сформированного запроса?

Пример БД

введите сюда описание изображения

Andrew
  • 17,943
8toni8
  • 173
  • 1
    можно ли при запроси на основании данных двух таблиц, преобразовывать данные в записях сформированного запроса? Решение именно этой задачи требует изменения текста запроса - поэтому вопрос лишён смысла. А что до подразумеваемой задачи... вычисляемые поля в запросах - обычное дело. – Akina Sep 13 '18 at 04:31
  • В смысле с помощью IIf ? – 8toni8 Sep 13 '18 at 05:09
  • 1
    Да, именно. В подзапросе получить макс. время для каждой задачи, и сравнить с временем из второй таблицы, в зависимости от результата вывести ту или иную пометку. – Akina Sep 13 '18 at 05:18
  • Дело в то, что я не умею склеивать поля в запросе, ведь мне нужна и сама дата из второй таблицы и отметка рядом с ней (отметка на основании разности дат из двух таблиц). По этому я реализовал объединение "криво", через отчеты: https://yadi.sk/d/ehMIYMMHXwD_TQ – 8toni8 Sep 13 '18 at 05:49
  • я не умею склеивать поля в запросе А чё там сложного? IIF( table1.field1 > table2.field2 ; 'text 1' ; 'text 2' )... – Akina Sep 13 '18 at 05:53
  • да не, в моем случае надо примерно вот так: 'IIf(t2.ДатаТаб2<t1.mx,t2.ДатаТаб2 + "*","")' – 8toni8 Sep 13 '18 at 05:58
  • 1
    Строковые данные не складывают - эта операция для чисел. Слияние строк - это конкатенация, и для неё используется не плюс +, а амперсанд &. – Akina Sep 13 '18 at 06:00
  • Спасибо, действительно, получилось:) SELECT t2., IIf(t2.ДатаТаб2<t1.mx,t2.ДатаТаб2 & "","") AS Обновление Но только вариант с формой более удобен на мой взгляд, так как там можно реализовать в виде сноски, А в запросе наверное нельзя:( – 8toni8 Sep 13 '18 at 08:31
  • Судя по всему в отчете пометку указать как сноски, технической возможности нет:( – 8toni8 Sep 13 '18 at 08:36

0 Answers0