vediamo un pò:
VA MEGLIO?codice:'attivo la connessione Set tabella1.ActiveConnection = cn 'qui uso delle combo box per aggiungere la tabella che andremo a creare nel dbgrig "RISULTATI" CMBtab.AddItem "RISULTATI" If CMBtab.ListIndex = 5 Then ADOtab.RecordSource = "RISULTATI" ADOtab.Refresh End If query1 = "SELECT * FROM RISULTATI" On Error Resume Next 'serve per far avanti il codice nonstante si sia verificato un errore tabella1.Open query1 If Err.Number = -2147217865 Then ' codice di errore per tabella non trovata tabella1.Close 'fai la query di creazione query1 = "SELECT ALLIEVI.codiceA,ALLIEVI.nome,ALLIEVI.cognome," _ & "COUNT(*) AS Risposte_Esatte INTO RISULTATI " _ & "FROM ALLIEVI,TEST_INIZIALE,RISPOSTE " _ & "WHERE ALLIEVI.codiceI=TEST_INIZIALE.codiceI " _ & "AND ALLIEVI.codiceA=RISPOSTE.codiceA " _ & "AND RISPOSTE.risI=TEST_INIZIALE.risEs " _ & "GROUP BY ALLIEVI.codiceA,ALLIEVI.nome,ALLIEVI.cognome" 'codice per cancellare la tabella nel caso in cui voglia rispingere il comando Else tabella1.Close query1 = "DROP TABLE RISULTATI" cn.Execute query1 'fai la query di creazione query1 = "SELECT ALLIEVI.codiceA,ALLIEVI.nome,ALLIEVI.cognome," _ &"COUNT(*) AS Risposte_Esatte INTO RISULTATI " _ & "FROM ALLIEVI,TEST_INIZIALE,RISPOSTE " _ & "WHERE ALLIEVI.codiceI=TEST_INIZIALE.codiceI " _ & "AND ALLIEVI.codiceA=RISPOSTE.codiceA " _ & "AND RISPOSTE.risI=TEST_INIZIALE.risEs " _ & "GROUP BY ALLIEVI.codiceA,ALLIEVI.nome,ALLIEVI.cognome" cn.Execute query1 End If On Error GoTo 0 ' serve per eliminare il resume next 'poi apri la tabella e la scorri query1 = "SELECT * FROM RISULTATI" tabella1.Open query1 Do While Not tabella1.EOF risultato1 = tabella1!codiceA & Chr(9) _ & tabella1!nome & Chr(9) _ & tabella1!cognome & Chr(9) _ & tabella1!Risposte_Esatte FLEXquery.AddItem risultato1 tabella1.MoveNext Loop End If End Sub

Rispondi quotando