Newsgroup: it.comp.appl.access
Titolo: ordine casella di riepilogo da vba

Salve a tutti.
In una form di ricerca ho due combo, una per ordinare i record della casella di riepilogo per descrizione articolo e una per idarticolo.
Il codice per ordinare per descrizione funziona, quello per idarticolo invece no.
Il codice è:
If Me.CboOrdine = "descrizione" Then
strSQL = " SELECT Space(8-Len(Format([tblArticoli].[idarticolo],'#,##0'))) & Format([tblArticoli].[idarticolo],'#,##0') AS cod, tblarticoli.descrizionebene, Last(Format([DataIngresso],'dd/mm/yy')) AS Ingresso, Format([tblDettaglioArticoli].[DataDimissioni],'dd/mm/yy') AS Dimissioni, Space(11-Len(Format(costounitario,'Standard'))) & Format(costounitario,'Standard') AS prezzo1, Space(11-Len(Format([costounitario2],'Standard'))) & Format([costounitario2],'Standard') AS prezzo2 " & _
" FROM tblarticoli INNER JOIN tblDettaglioArticoli ON tblarticoli.IdArticolo = tblDettaglioArticoli.Idarticolo " & _
" GROUP BY Space(8-Len(Format([tblArticoli].[idarticolo],'#,##0'))) & Format([tblArticoli].[idarticolo],'#,##0'), tblarticoli.descrizionebene, Format([tblDettaglioArticoli].[DataDimissioni],'dd/mm/yy'), Space(11-Len(Format(costounitario,'Standard'))) & Format(costounitario,'Standard'), Space(11-Len(Format([costounitario2],'Standard'))) & Format([costounitario2],'Standard'), tblarticoli.descrizionebene " & _
" HAVING ((tblarticoli.descrizionebene) Like " & Chr$(34) & "*" & _
strR & "*" & Chr$(34) & ")" & _
" ORDER BY tblarticoli.[descrizionebene];"
Else
If Me.CboOrdine = "codice" Then
strSQL = " SELECT Space(8-Len(Format([tblArticoli].[idarticolo],'#,##0'))) & Format([tblArticoli].[idarticolo],'#,##0') AS cod, tblarticoli.descrizionebene, Format(Last(tblDettaglioArticoli.DataIngresso),'dd/mm/yy') AS UltimoDiDataIngresso, Format(Last(tblDettaglioArticoli.DataDimissioni),'dd/mm/yy') AS UltimoDiDataDimissioni, Space(11-Len(Format(costounitario,'Standard'))) & Format(costounitario,'Standard') AS prezzo1, Space(11-Len(Format([costounitario2],'Standard'))) & Format([costounitario2],'Standard') AS prezzo2, tblarticoli.idarticolo " & _
" FROM tblarticoli INNER JOIN tblDettaglioArticoli ON tblarticoli.IdArticolo = tblDettaglioArticoli.Idarticolo " & _
" GROUP BY Space(8-Len(Format([tblArticoli].[idarticolo],'#,##0'))) & Format([tblArticoli].[idarticolo],'#,##0'), tblarticoli.descrizionebene, Space(11-Len(Format(costounitario,'Standard'))) & Format(costounitario,'Standard'), Space(11-Len(Format([costounitario2],'Standard'))) & Format([costounitario2],'Standard'), tblarticoli.descrizionebene, tblarticoli.idarticolo" & _
" HAVING ((tblarticoli.descrizionebene) Like " & Chr$(34) & "*" & _
strR & "*" & Chr$(34) & ")" & _
" ORDER BY tblarticoli.idarticolo;"
End If
End If
La casella di riepilogo nel secondo caso non restituisce alcun record e se vado a vedere la struttura dell'origine dati trovo il campo idarticolo sul rigo Formula come Espressione e non "Raggruppamento" e senza il segno di spunta su "Mostra".
Cosa dovrei cambiare?
Grazie.
Giuseppe
 
 
 
 

Mi risulta infatti NON ESSERE presente tblarticoli.idarticolo nell'elenco dei Campi, ma solo come condizione di JOIN... tu invece lo vedi...?
 
Prova a fare il contrario, costruisci la Query in QBE e quando funziona vedi la differenza...(con le Query Raggruppate il campo deve apparire anche nel GROUP BY)
 
@Alex


Ciao e grazie Alex.
C'erano altri eventi su altri controlli che riportavano il codice senza del campo tblArticoli.IdArticolo. Ovviamente ho modificato il codice anche su quelli.
Giuseppe