Newsgroup: it.comp.lang.visual-basic
Titolo: DataReport di VB

Ho un datareport che mi stampa una cosa del genere:
LINEA        ORDINE        PRODOTTO        QTA'                   PRIORITA'
1                    13500            67000                    18000
1
1                    13700            68000                    25000
2
1                    13800            69000                    25000
3
2                    13900            70000                    57000
1
2                      1400            55000                    75000
2
3                      3800            32000                    88000
1
4                    87800            12000                    65000
1
4                    88800            21000                    52000
2
Vorrei far stampare raggruppato per linea...cioè
LINEA        ORDINE        PRODOTTO        QTA'                   PRIORITA'
1                    13500            67000                    18000
1
                      13700            68000                    25000
2
                      13800            69000                    25000
3
2                    13900            70000                    57000
1
                        1400            55000                    75000
2
3                      3800            32000                    88000
1
4                    87800            12000                    65000
1
                      88800            21000                    52000
2
Passando una query al datareport...mi hanno detto qcosa su un comando
"shape"...
l'avete già usato? avete qche idea?
Alex
PS: la query che passo già adesso è una INNER JOIN con GROUP BY, HAVING e
ORDER BY ...
Inoltre specifico che i dati che ho tolto nella seconda "visualizzazione"
(solo ID) sono molti più di uno in realtà...
PS2: sono stato chiaro?...

 l'avete già usato? avete qche idea?
Copio e incollo un pezzo di codice che utilizzava il "comando shape"
Private Sub DataReport_Initialize()
Dim rs As ADODB.Recordset
Dim sSql As String
Dim Nuova As ADODB.Connection
Dim sConn As String
Dim nrs As ADODB.Recordset
sSql = "SHAPE {select * from clu} as Prova1 append({SELECT [Tabella ol].[Data
OL], [Tabella ol].[n° ol], [Tabella ol].[N da trasf], [Tabella ol].cliente,
[tabella ol].codclu from [tabella ol] where stampato = 0} relate [cod clu] to
[codclu]) AS PROVA"
sConn = "Provider=MSDataShape.1;Data Provider=Microsoft.Jet.OLEDB.4.0;"
sConn = sConn & "Data Source=" & sPathDatabase
sConn = sConn & ";Persist Security Info=False"
Set Nuova = New ADODB.Connection
Nuova.Provider = "MSDataShape"
Nuova.Open sConn
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = Nuova
rs.Source = sSql
rs.Open
sSql = Printer.ScaleWidth
Set DataReport1.DataSource = rs
Set nrs = rs("prova").Value
DataReport1.Sections("section1").Controls("textbox1").DataMember = "PROVA"
DataReport1.Sections("section1").Controls("textbox1").DataField = "n da trasf"
DataReport1.Sections("section1").Controls("textbox2").DataMember = "PROVA"
DataReport1.Sections("section1").Controls("textbox3").DataMember = "PROVA"
DataReport1.Sections("section1").Controls("textbox4").DataMember = "PROVA"
End Sub
La cosa che mi aveva fatto dannare era l'impostazione del datamember dei
controlli, nel senso che ci ho messo un po' a capire che si faceva così.
hth
--
Salutoni
Sergio