powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Datareport and несколько таблиц
45 сообщений из 45, показаны все 2 страниц
Datareport and несколько таблиц
    #34070278
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите плиз, как вывести в один отчет данные из нескольких не связанных таблиц
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34072417
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что из себя представляет отчёт
на чём написан

откуда идут данные

в ADO.Recordset есть метод NextRecordSet(возвращает следующий Recordset )
если например в sql получать несколько несвязных select-ов
то перебором NextRecordSet можно их все получить
использовать еще обьект/ы
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34072977
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 несвязанные таблицы (перечень опор и проводов ),
в одном datareporte отобразить эти перечни (опор и проводов) можно ли это сделать?
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34073654
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если всё-таки попытаться связать данные из этих таблиц
то можно создать свой иерархический рекордсет
и его можно запихнуть в один DataReport в VB6
данные в виде иерархии

иначе не уверен что это возможно
или создать свой контроль
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34073829
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
datareport для иерархического sql получается, если в иерархии 1 подзапрос .... а если 2 то не получается
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34073839
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не
я имел ввиду свой иерархический рекордсет
заполнение данных происходит в ручную
и в принципе ограничение на уровни нет
возможно долгая работа

я в своё время сделал такой рапорт на 8 уровней
но данные были связанны между собой
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34073937
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно примера, если не трудно, у меня что-то не получается
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34073976
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас
надо найти
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34074025
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут 4 уровня иерархии
данные для примера
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34074066
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
огромное спасибо, сейчас разберусь
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34074392
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не получается на 2 уровне два SQL запроса .... и второй не видет

de2.S_KOM_Pr SelLEPDispNum, Trim$(F_LEP6.MSHFlexGrid2.Text)

Set rs1 = de2.rsS_KOM_Pr.Clone
de2.rsS_KOM_Pr.Close

Set rsCh1 = rs1.Fields(2).value
Set rsCh2 = rs1.Fields(3).value

Set DataReportPassp.DataSource = rs1

DataReportPassp.Sections("Section1").Controls("T1").DataMember = "Sel_OPOR"
DataReportPassp.Sections("Section1").Controls("T1").DataField = rsCh1.Fields.Item(4).NAME
DataReportPassp.Sections("Section1").Controls("T2").DataMember = "Sel_OPOR"
DataReportPassp.Sections("Section1").Controls("T2").DataField = rsCh1.Fields.Item(3).NAME

эту часть не видет
DataReportPassp.Sections("Section1").Controls("T3").DataMember = "Sel_TRAV"
DataReportPassp.Sections("Section1").Controls("T3").DataField = rsCh2.Fields.Item(4).NAME
DataReportPassp.Sections("Section1").Controls("T4").DataMember = "Sel_TRAV"
DataReportPassp.Sections("Section1").Controls("T4").DataField = rsCh2.Fields.Item(3).NAME
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34074825
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай завтра посмотрим
что нужно сделать
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34074883
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ok
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076499
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я сейчас попробую создать такой рекордсет из базы ......
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076717
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlySv

я сделал но нужно обьяснить

ты готов(а) принять истину ??
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076752
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да готова
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076756
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас напишу подробно
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076816
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если в нашем примере нет связи между таблицами
то мы создаём фиктивную связь
в двух таблицах добавляем поля Link
в таблицу 1 значение '0' в таблицу 2 значение '*' (условно)
нам нужно в отчёте показать сначало все значения из таблицы 1
а потом из в таблицы 2
то есть связать нужно только последную запись из в таблицы 1
со всеми значениями из таблицы 2

в VB получаем в рекордсет через Shema-запрос получаем значения
и для последней записи в верхнем рекордсете меняем значение в поле Link на *
рекордсет отключенный


DataMember=С
я так определил в запросе

база у меня в SQL 2000
может придется менять ConnectionString для подключения для других баз

структрура таблиц
A1
id text Link
1 A1 0
2 A2 0
3 A3 0
4 A4 0
5 A5 0


A2
id2 text2 Link
1 B1 *
2 B2 *
3 B3 *
4 B4 *
5 B5 *
6 B6 *




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

Прошу прощения за мой русский язык
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076825
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл пример
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076850
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>в VB получаем в рекордсет через Shema-запрос получаем значения
>и для последней записи в верхнем рекордсете меняем значение в поле Link на *
>рекордсет отключенный



эта часть непонятно
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076874
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Str = "SHAPE {SELECT * from A1 } AS A " _
& " APPEND ({ SELECT * from A2 } as B " _
& " RELATE Link to Link ) as C "

это запрос с использованием SHAPE

rs1.ActiveConnection = Cn
rs1.CursorLocation = adUseClient
rs1.CursorType = adOpenDynamic
rs1.LockType = adLockOptimistic
rs1.Source = Str
rs1.Open

открыть рекордсет

Set rs1.ActiveConnection = Nothing
отключить рекордсет от базы данных

rs1.MoveLast
последняя запись

rs1("link").Value = "*"
поменять значение последней записи и
тем самым создать связь со второй таблицей

rs1.Update
сохранить изменения
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076939
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть таблица S_TAB1....есть еще 2 таблицы S_TAB2 и S_TAB3 эти две таблицы связаны с таблицой S_TAB1 (двумя полями) ....те иерархаический recordset....вот и в datareport таблица S_TAB2 печатается а S_TAB3 нет (не находит)
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076958
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_TAB2 и S_TAB3 на одном уровне иерархии ??
Они должны быть в одном запросе ???
идея моя подходит ??
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34076970
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S_TAB2 и S_TAB3 на одном уровне иерархии...в одном запросе S_TAB1
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077007
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не

я имел ввиду
1 уровень S_TAB1
2 уровень S_TAB2 и S_TAB3
или как то по другому

может второй запрос переписать так чтобы использовалось 2 таблицы
в одном запросе ??
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077015
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да правильно
1 уровень S_TAB1
2 уровень S_TAB2 и S_TAB3

S_TAB2 и S_TAB3 таблицы одинаковые по структуре и у них первичный ключ на S_TAB1 ... просто в S_TAB2 хранятся наименование и количетсва опор в S_TAB3 траверсы
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077048
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не знаю что такое опоры и траверсы
а есть какя-нибудь связь между S_TAB2 и S_TAB3
и как нужно показывать в рапорте эти данные на одном уровне

может это нужно по другому
вообще моя идея подходит
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077093
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
связь между S_TAB2 и S_TAB3 нет они связаны только с S_TAB1
запрос следующий:
select к S_TAB1 и два Child Command (select к S_TAB2 и S_TAB3)
S_TAB2 и S_TAB3 на одном втором уровне.

в рапорте столбец с данными из табл S_TAB2 и столбец с данными из табл S_TAB3
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077174
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так понял что значения и кол-во данных
в S_TAB2 и табл S_TAB3 одиноковы иначе как показывать их в рапорте

если так может может стоит обьединить таблицы через Join
и иметь один Child

максимум попробую через 2 Child
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077193
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а отображать в одном рапорте из двух recordset не получится никак?
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077204
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если значения и кол-во данных в S_TAB2 и табл S_TAB3 одиноковы
на каждой строчке поле из S_TAB2 и из табл S_TAB3

то можно попробовать .....
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077230
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может быть и не одинаковое, наверное врядли получится
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077237
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в S_TAB2 могут быть данные, а в S_TAB3 нет
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077249
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может нужен 3-й уровень
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077347
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это как?
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077373
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все 3 таблицы не связанны
так выдавать значение каждой таблицы в отдельной секции
немножко поменять запрос
и добавать секции в рапорт

Если это поможет...
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077384
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как сделать отдельные секции?
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077404
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в DataReport правой мышкой в меню Insert Groups
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077425
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а можно на примере как в разные секции показать данные из разных recordset
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077431
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделать пример на 3 уровня с 3-я таблицами ???
это как на 2 уровня но с небольшими изменениями

сщас сделаю
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077723
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlySv тебя Светой зовут

я сделал на 3 уровня

изменения в базу

A1
id text link
1 A1 0
2 A2 0
3 A3 0
4 A4 0
5 A5 0
6 A6 0
7 A7 0
8 A8 0
9 A9 0
10 A10 0
('0') по умолчанию

A2
id text link link2
1 A1 * &
2 A2 * &
3 A3 * &
4 A4 * &
5 A5 * &
('*', '&') по умолчанию

A3
id text link
1 A1 &
2 A2 &
3 A3 &
4 A4 &
5 A5 &
('&') по умолчанию


для связи A1 и A2 используются поля A1.link A2.link
для связи A2 и A3 используются поля A2.link2 A3.link
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34077784
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ok, спасибо
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34086672
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SlySv
небольшие добавки

если в таблице1 нет данных то не будет показа в таблице2 и таблице3
если в таблице2 нет данных то не будет показа в таблице3
это из-за иерархии

для этого в проге нужно проверять кол-во записей в рекордсетах
если 0 то просто создать новую пустую запись
и внесть значение в поле Link

сейчас схема такая
таблице1
---таблице2
---таблице3

можно сделать так и убрать лишние поля в таблице и в проге
таблице1
---таблице2
---таблице3

но для рапорта всё равно нужно 3 секции
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34092048
SlySv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
заданный мной вопрос решен
с помощью JOIN объедеинены в один Sql запрос 4 таблицы необходимые для отображения, запрос довольно замысловатый, но все работает. всем спасибо
...
Рейтинг: 0 / 0
Datareport and несколько таблиц
    #34092108
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
моя иерархия помогла ??
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Datareport and несколько таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]