Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопросы по Ado

6.1K
04 ноября 2004 года
hasuhands
17 / / 14.10.2004
Имеем:
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset

Подключаемся. Далее нужно:
1) Заполнить List1 списком всех стобцов
2) Заполнить List2 значением одного из столбцов.
3) Связать данные из базы с отчетом. Это вообще возможно. Или DataReport работает только с DataEnvironment. И вообще - c чем лучше работать: с DataEnvironment или ADO. Или еще с чем?:

Блин, хоть убей - сам не могу сделать и инфы по этому поводу найти не могу.

Помоги с данной конкретной задачей и киньтесь ссылочной на пособие по этому поводу. Можно на аншлийском, но по делу.

Большое спасибо.
6.1K
04 ноября 2004 года
hasuhands
17 / / 14.10.2004
Цитата:

1) Заполнить List1 списком всех стобцов


C первым разобрался:
Dim fd As ADODB.Field
For Each fd In rs.Fields
List2.AddItem fd.Name
Next fd

6.1K
04 ноября 2004 года
hasuhands
17 / / 14.10.2004
Со вторым тоже.

Со вторым тоже:
Do While Not rs.EOF
List1.AddItem rs!Title
rs.MoveNext
Loop
4.4K
05 ноября 2004 года
blind rain
66 / / 20.07.2004
Цитата:
Originally posted by hasuhands
Имеем:
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset

нужно:
3) Связать данные из базы с отчетом. Это вообще возможно. Или DataReport работает только с DataEnvironment. И вообще - c чем лучше работать: с DataEnvironment или ADO. Или еще с чем?:


Если групп в отчете нет (а это редкость), то можно просто в источник данных DataReport рекордсет сунуть. Если есть группы, то надо мутить вложенные command в DataEnvironment, на каждом уровне с большей детализацией и передачей значений групп на нижний уровень. Потом в DataReporter по контекстному меню берешь структуру отчета по command верхнего уровня.
Я так подозреваю, SHAPE-рекордсет можно DataReporter-у сунуть, но не пробовал.

P.S. Недавно как раз ковырялся с DataReporter - за 3 часа методом тыка разобрался как групповые отчеты делать, только глючит часто. Раньше как-то все в Word, Excel данные загонял через ихнюю объектную модель.

6.1K
06 ноября 2004 года
hasuhands
17 / / 14.10.2004
[QUOTE]Originally posted by blind rain

Если групп в отчете нет (а это редкость), то можно просто в источник данных DataReport рекордсет сунуть.
[QUOTE]
Что-то я не могу разобраться. Вроде все правильно делаю, но ничего не выходит. Можешь пример привести.
4.4K
08 ноября 2004 года
blind rain
66 / / 20.07.2004
Цитата:
Originally posted by hasuhands
Можешь пример привести.



Это код управления отчетом DataReport1

Код:
Private Sub Command1_Click()
    Dim cmd As New ADODB.Command
    Dim rec As ADODB.Recordset
    Dim conn As New ADODB.Connection
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB.mdb"
    conn.Open
    Set cmd.ActiveConnection = conn
    cmd.CommandText = "SELECT Books.Name, Authors.Name As AuthorName FROM Books LEFT JOIN Authors ON Books.Author=Authors.ID"
    Set rec = cmd.Execute
    Set DataReport1.DataSource = rec
    DataReport1.Show vbModal
    Set rec = Nothing
    conn.Close
End Sub


В самом DataReport1 я в PageHeader вставил RptLable Название и Автор

В Detail вставил 2 поля RptTextBox, в DataField свойстве указал имена полей Name и AuthorName соответственно.

Можно и программно манипулировать контролами отчета:
 
Код:
DataReport1.Sections("Section1").Controls("Text1").DataField = "Name"
    DataReport1.Sections("Section1").Controls("Text2").DataField = "AuthorName"
6.1K
12 ноября 2004 года
hasuhands
17 / / 14.10.2004
Спасибо большое - все работает.
А можно теперь пример отчетов с группами? Можешь не писать здесь, а просто выслать мне исходник. Вместе с другими исходниками работы с БД, если не сложно. Хочется посмотреть, что и как делают профи.

[email]hasuhands@mail.ru[/email]
4.4K
14 ноября 2004 года
blind rain
66 / / 20.07.2004
Цитата:
Originally posted by hasuhands
Спасибо большое - все работает.
А можно теперь пример отчетов с группами? Можешь не писать здесь, а просто выслать мне исходник. Вместе с другими исходниками работы с БД, если не сложно. Хочется посмотреть, что и как делают профи.

[email]hasuhands@mail.ru[/email]



Коды реального проекта выложить не могу по различным соображениям. Я тут накидал маленький проектик. Кстати, на дизайнер DataReporter можно с окна DataEnvironment переносить(Drag-n-Drop) поля в соответствующие секции отчета - гораздо быстрее чем в ручную набирать.

6.1K
14 ноября 2004 года
hasuhands
17 / / 14.10.2004
Цитата:
Originally posted by blind rain


Коды реального проекта выложить не могу по различным соображениям. Я тут накидал маленький проектик. Кстати, на дизайнер DataReporter можно с окна DataEnvironment переносить(Drag-n-Drop) поля в соответствующие секции отчета - гораздо быстрее чем в ручную набирать.


Спасиб большое. Буду разбираться.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог