PDA

View Full Version : [vb6] DataGrid e sql


chepaolo
12-08-2004, 23:48
Sono un autodidatta di VB6 ma alle volte i manuali non sono sufficienti!!!
Mi serve una mano prima che cestino tutto! Grazie in anticipo.

Sto realizzando un programma per popolare e interrogare un database Access.

Ho inserito un controllo DataGrid e nel campo DataSource ho punto un controllo Adodc.
Fin qui tutto bene perché modificando la stringa sql nel recordsource tutto funziona, ad es:

Adodc.RecordSource = SELECT lavoro, ore FROM paolo

Ho la necessita di usare delle funzioni di aggregazione e qui sono nati i problemi!!!
In pratica devo sommare tutte le ore all’interno del campo ore di un determinato lavoro e per fare ciò ho usato la stringa:

Adodc.RecordSource = SELECT lavoro, SUM(ore) FROM paolo GROUP BY lavoro

A questo punto nella DataGrid si caricano correttamente una sola volta i vari lavori ma il campo ore rimane vuoto senza dare alcun errore.

Non so se vb ha qualche problema con le funzioni di aggregazione o semplicemente non posso usare le DataGrid! Se potete aiutarmi ve ne sarei grato.

La tabella paolo è del tipo

Lavoro:________ore:
primo__________2
secondo________1
secondo________2
secondo________1
primo__________5

chepaolo
13-08-2004, 11:04
Riscontro problemi con tutte le funzioni di agregazione!!!!
Per usare la funzione MAX al posto della stringa:

SELECT MAX(ore) FROM paolo

Che non mi funziona ho dovuto inventaria questa:

SELECT ore FROM paolo WHERE ore=(SELECT MAX(ore) FROM paolo)

Ma con la funzione SUM non ho trovato una strada alternativa!!!

Dove sbaglio? Se potete aiutarmi ve ne sarei grato.

chepaolo
17-08-2004, 22:55
Chi fa da se fa per tre!!!
Non è cosi che si dice…:rolleyes: :rolleyes: :rolleyes:
Non so se è una banalità o cosa ma avendo risolto il problema lo posto, magari è utile a qualcuno.

Adodc.RecordSource = SELECT lavoro, SUM(ore) AS ore FROM paolo GROUP BY lavoro

Il DataGrid non riconosceva il nome della colonna (o come si chiama) introducendo ‘AS ore’ tutto funziona.
Grazie comunque, avvolte il solo spiegare il problema aiuta a fare chiarezza.

Fine discussione

a2000.1
17-08-2004, 23:05
ma chepaolo ! :eek: :D