Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DataReport Отчет с Одной групировкой
|
|||
|---|---|---|---|
|
#18+
Как в DataReport Сделать отчет с одной группровкой Например имееться Запрос . Серия товара | Товара| Дистребьюютерская цена| Розничная| Баллы И дложно получиться.. что то подобное Серия1 _____________________________________ Товара 1 | 1212| 212| 3 Товара 3 | 2131|312|4 и так далее У меня что то не получаеться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2004, 17:17 |
|
||
|
DataReport Отчет с Одной групировкой
|
|||
|---|---|---|---|
|
#18+
отчеты (ИМХО) самое трудное в VB+Databases :) первый вариант - используй DED, то бишь Data Environment Designer, с помощью которого достаточно легко построить иерархический набор второй вариант - без DED, но с использованием SHAPE провайдера. Второй вариант применительно к учебной базе NWIND.mdb может выглядеть так (по крайней мере у меня, когда изучал все это): Private Sub Form_Load() Dim strSQL As String cmdTest.Caption = "Отчет с групировкой без использования DED" cmdTest.Width = 2500 cmdTest.Height = 750 cmdTest.Left = (Me.Width - cmdTest.Width) / 2 cmdTest.Top = (Me.Height - cmdTest.Height) / 2 ' открываем соединение с базой cn.Open "Provider=MSDATASHAPE; Data Provider=Microsoft.JET.OLEDB.4.0;" & _ "Data Source=" & VB.App.Path & "\Nwind.mdb;" ' формируем строку запроса к базе с использоваием DATA SHAPE провайдера strSQL = "SHAPE {SELECT FirstName,Lastname,City FROM Employees} AS Command1 COMPUTE Command1 BY City" ' открываем собственно набор, который и будет источником данных для отчета rs.Open strSQL, cn Set rs1 = rs(0).Value End Sub Но это естесно не все, важно правильно "раскидать" такой набор: Private Sub cmdTest_Click() Dim q As Integer Dim intCtrl As Integer Dim x As Integer Dim z As Integer Dim i As Integer ' For i = 0 To rs.Fields.Count - 1 ' Debug.Print "rs: " & rs.Fields(i).Name ' Next i ' ' For i = 0 To rs1.Fields.Count - 1 ' Debug.Print "rs1: " & rs1.Fields(i).Name ' Next i x = 0 q = 0 z = 0 With DataReport1 .Hide Set .DataSource = rs .DataMember = "" With .Sections("section4").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = "City" & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "" .Item(intCtrl).DataField = "City" End If Next intCtrl End With q = 0 With .Sections("Section1").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = rs1.Fields(q).Name & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "Command1" .Item(intCtrl).DataField = rs1(z).Name z = z + 1 End If Next intCtrl End With .Refresh .Show End With End Sub В общем, мне так кажется, сразу не поймешь, посмотри в мсдн, там есть цикл из пяти уроков по созданию отчетов, от простого к сложному, потому что если кроме группировки будешь использовать еще и вычисляемые поля и итоги, то запрос получается мудрены, проще создать его сначала в DED? а потом перенести в свое приложение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2004, 20:27 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=378&tid=2169767]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 386ms |

| 0 / 0 |
