Topic: отчет в 1.46

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

Re: отчет в 1.46

с помощью SQL отчета можно связать две несвязанные таблицы с помощью ключевого слова UNION ALL
но количество полей должно быть одинаковым для всех объеденных запросов

пример

SELECT field1, field2 FROM tablename1

UNION ALL

SELECT field1, field2 FROM tablename2


также с помощью SQL отчета можно поместить текст из текстбокса, например:


SELECT {Edit1}, {Edit2} FROM tablename

где Edit1 и Edit2 тестовые поля на форме, на которой же расположена кнопка "SQL отчет"

Dmitry.

Re: отчет в 1.46

а как с помощью SQL запроса брать текст из грида?

Re: отчет в 1.46

pha1984
из грида можно только с помощью подзапроса, например

SELECT 
field1, 
(SELECT field2 FROM tablename2 WHERE tablename2.id={TableGrid1})

FROM tablename1
Dmitry.

Re: отчет в 1.46

Помогите новичку с такой же проблемой.
Как инфу из двух таблиц объединить в одну? Уже разные примеры пробовала. Где-то ошибаюсь, ничего не выходит.
В общую таблицу записи из второй не выводятся. В отчет они тоже не попадают.
В частности "Вид работ" и "Дата" должны быть видны в колонках общей таблицы и в отчет они тоже должны попадать.

Post's attachments

Attachment icon База Газ-ТО - копия.rar 995.86 kb, 197 downloads since 2021-10-17 

6 (edited by sparrow 2021-10-17 21:24:42)

Re: отчет в 1.46

Кнопка План ТО с иконкой принтер ). Неверно выбрана таблица для поиска и ошибка в поле в ФастРепорте.
Action ОТЧЕТ. Заходим в настройки. Меняем Таблицу данных для поиска на AppRaboty.
Меняем на Открыть в Designer.
Запускаем программу. Нажимаем План ТО. В колонке Устранить [Report."AppRaboty.Вид_работ"] должен быть
с подчеркиванием Вид_работ.
Нажимаем на кнопку превью - Видим появилась Дата и Устранить.

График планового ТО                        Домжилсервис                            на    октябрь 2021    
                                                            
Матросова ул.                                                            
№    Дом    Корп.    Кв.    ФИО                Контакты    Дата устранения    Устранить        Замечания            
1    1        2    Иванов Иван Иванович                    21.10.2020    Забыли про водку                    
2    1        2    Иванов Иван Иванович                    28.10.2021    Заменить кран                    

Сохраняем.


Вывод отчета из двух таблиц.
То, что вы стараетесь сделать таким образом, уже работает в План ТО.
У вас две таблицы связаны между собой общими полями и так делать не следует.
Вы не сможете в дальнейшем связать абонента с работами.
Данное решение для двух или более несвязаных между собой таблиц.
Но если вам хочется поиграться
Перейдите в режим Designer изменив код в скрипте

    // DESIGN MODE
    Главная.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+'Report\Cards.fr3');
    Главная.frxReport.DesignReport;


    // PREVIEW MODE
    //  frxDBDataset1.DataSet.Close;
    //  frxDBDataset2.DataSet.Close;

    //  Главная.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+'Report\Cards.fr3');
    //  Главная.frxReport.ShowReport;

Далее два пути.
1. Измените имя Cards.fr3 на новое и создайте в Репорте новую страницу со своими данными.
2. Работаете с текущим файлом Cards.fr3.
Первый путь предпочтительней ).

В обоих случаях в ФастРепорте сначала жмем в меню Report - Data. Ставим птички на ваших наборах данных Абонент и Раб. ОК.
Видим что справа в окне появились ваши даные.
Для 1 случая создаем свою страницу.
Для 2 случая проходим по всем объектам на странице и ставим где нужно свои данные а не то,
что осталось на скопированой вами форме.

Re: отчет в 1.46

sparrow wrote:

Кнопка План ТО с иконкой принтер ). Неверно выбрана таблица для поиска и ошибка в поле в ФастРепорте.
Action ОТЧЕТ. Заходим в настройки. Меняем Таблицу данных для поиска на AppRaboty.
Меняем на Открыть в Designer.
Запускаем программу. Нажимаем План ТО. В колонке Устранить [Report."AppRaboty.Вид_работ"] должен быть
с подчеркиванием Вид_работ.
Нажимаем на кнопку превью - Видим появилась Дата и Устранить.

График планового ТО                        Домжилсервис                            на    октябрь 2021    
                                                            
Матросова ул.                                                            
№    Дом    Корп.    Кв.    ФИО                Контакты    Дата устранения    Устранить        Замечания            
1    1        2    Иванов Иван Иванович                    21.10.2020    Забыли про водку                    
2    1        2    Иванов Иван Иванович                    28.10.2021    Заменить кран                    

Сохраняем.

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

8 (edited by sparrow 2021-10-18 10:40:54)

Re: отчет в 1.46

Для главной сделайте тоже самое. Смените таблицу данных для запроса на AppRaboty

А что такое  предписание, замечание ?
Это какая таблица, поле ?

Сейчас в РЕПОРТ у вас выводятся все записи устраненные или нет в отличии от закладки с таблицей Предписания где только не устраненные.
Назначьте в ФастРепорте колонке Замечания

[Report."AppRaboty.Устранено"]

я сменил для №2 статус на Устранено
как видите выводится все, устраненные и неустраненные.

№    Дом    Корп.    Кв.    ФИО    Контакты    Дата устранения    Устранить        Замечания
1    1        2    Иванов Иван Иванович        21.10.2020    Заменить подводку        Нет
2    1        2    Иванов Иван Иванович        28.10.2021    Заменить кран        Да
3    3        4    Петров Иван Петрович        22.10.2021    Заменить трубу        Нет
4    12        2    Иванова Мария Петровна        22.10.2021    Заменить кран        Нет

Re: отчет в 1.46

sparrow wrote:

Для главной сделайте тоже самое. Смените таблицу данных для запроса на AppRaboty

Не работает это. Тогда в главной таблице некоторые абоненты дублируются, а в их карточках в таблице становятся видны работы всех.
К тому же не у всех абонентов есть замечания, некоторые совсем пустые. Они вообще не попадают в отчет.

Re: отчет в 1.46

Сформулируйте точно что надо.
для главной ....
для Примечания ...


Я не могу знать о чем вы думаете.
Я помню ваш вопрос о дублировании.
Давайте сначала постараемся сделать что то одно а не все сразу.
В очередь ...

Re: отчет в 1.46

Благодарю за понимание. А то я совсем запуталась )
Нужно, чтобы в отчет выводились все абоненты (их у меня 54031 чел.), даже у которых нет работ и замечаний. Напротив каждого должно быть поле с замечанием и датой. Если нет замечаний, значит пусто.

Re: отчет в 1.46

Работы - понятно Заменить кран(трубу и т.д.)
Замечаения ??? это что ?
Мы говорим о выводе в отчет ?

Вам ничего на почту не пришло ?

Re: отчет в 1.46

sparrow wrote:

Работы - понятно Заменить кран(трубу и т.д.)
Замечаения ??? это что ?
Мы говорим о выводе в отчет ?

Вам ничего на почту не пришло ?

Нет, на почту не пришло.
Работы и замечания это одно и то же.
Да, это должно быть в отчете.

Re: отчет в 1.46

что здесь не так ?

№    Дом    Корп.    Кв.    ФИО    Контакты    Дата устранения    Устранить        Замечания
1    1        2    Иванов Иван Иванович        21.10.2020    Заменить подводку        Нет
2    1        2    Иванов Иван Иванович        28.10.2021    Заменить кран        Да
3    3        4    Петров Иван Петрович        22.10.2021    Заменить трубу        Нет
4    12        2    Иванова Мария Петровна        22.10.2021    Заменить кран        Нет

Re: отчет в 1.46

sparrow wrote:

что здесь не так ?

№    Дом    Корп.    Кв.    ФИО    Контакты    Дата устранения    Устранить        Замечания
1    1        2    Иванов Иван Иванович        21.10.2020    Заменить подводку        Нет
2    1        2    Иванов Иван Иванович        28.10.2021    Заменить кран        Да
3    3        4    Петров Иван Петрович        22.10.2021    Заменить трубу        Нет
4    12        2    Иванова Мария Петровна        22.10.2021    Заменить кран        Нет

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

Re: отчет в 1.46

так у вас нет таких в базе ))) поэтому все с работой. Сейчас удалю одну работу
Вот результат без подводки в №1(пусто)

№    Дом    Корп.    Кв.    ФИО    Контакты    Дата устранения    Устранить    Замечания
1    1        2    Иванов Иван Иванович        21.10.2020                                      Нет
2    1        2    Иванов Иван Иванович        28.10.2021            Заменить кран    Да
3    3        4    Петров Иван Петрович        22.10.2021             Заменить трубу    Нет
4    12        2    Иванова Мария Петровна        22.10.2021       Заменить кран    Нет

Re: отчет в 1.46

sparrow wrote:

так у вас нет таких в базе ))) поэтому все с работой. Сейчас удалю одну работу
Вот результат без подводки в №1(пусто)

№    Дом    Корп.    Кв.    ФИО    Контакты    Дата устранения    Устранить    Замечания
1    1        2    Иванов Иван Иванович        21.10.2020                                      Нет
2    1        2    Иванов Иван Иванович        28.10.2021            Заменить кран    Да
3    3        4    Петров Иван Петрович        22.10.2021             Заменить трубу    Нет
4    12        2    Иванова Мария Петровна        22.10.2021       Заменить кран    Нет

Все хорошо, но проблема еще в том, что абоненты дублируются, а должно быть один раз с последней датой какая у него в работах стоит. Вот из-за этого и пришлось придумать статус "Устранено - да/нет". Но в отчете не знаю как это реализовать.