Quote Originariamente inviata da karug64 Visualizza il messaggio
Ok.
Mi scuso anticipatamente per le continue domande, ma per me è una materia nuova e quindi mi trovo in difficolta'.
I tuoi errori sono grossolani ed indicano una scarsa conoscenza delle basi del linguaggio SQL.
Te lo dico non per polemica o per accusarti, ma solo per farti prendere atto che prima di 'scrivere' bisogna 'studiare'.

Quote Originariamente inviata da karug64 Visualizza il messaggio
Ho modificato in questo modo:
codice:
 Dim td As Date = CDate(datavi.Text)
            td = Format(td, "dd/MM/yyyy")
            sql = "SELECT RG.RGcdg, Count(RG.RGcdg) AS Qta FROM RG As T1 INNER JOIN FI As t2 ON RG.RGcdg = FI.FIcdg where RG.RGimp >= " & limite & " and RG.RGcat <> 550 and RG.RGcat <> 399 and RG.RGdatad >= " & td & " GROUP BY RG.RGcdg"
ma continuo ad ottenere "Errore di sintassi nell'espressione JOIN"
Ovviamente, dato che stai usando gli alias nelle tabelle ma non nei nomi dei campi.

Comunque, facciamo così: dalla tua query togli As T1 e As t2 e dovrebbe funzionare (vedi sotto).

Un suggerimento: abituati a non scrivere l'enunciato SQL in una sola riga, ma suddividerlo su più righe, così:
codice:
sql = "SELECT RG.RGcdg, Count(RG.RGcdg) AS Qta "
sql = sql + " FROM RG INNER JOIN FI ON RG.RGcdg = FI.FIcdg "
sql = sql + " WHERE RG.RGimp >= " + limite 
sql = sql + "     AND RG.RGcat <> 550 "
sql = sql + "     AND RG.RGcat <> 399 "
sql = sql + "     AND RG.RGdatad >= " + td 
sql = sql + " GROUP BY RG.RGcdg "

Nota gli spazi aggiunti volutamente all'inizio ed alla fine di ogni riga.

Ne guadagnerai in leggibilità e di conseguenza in manutenzione.


Per finire, le interrogazioni ad una base dati si effettuano usando Command + Parametri che risolvono e prevengono un sacco di problemi (vedi esempi nella mia firma sia per NET che per VB6.0).
Ad esempio, se tu avessi usato un Command, il problema della formattazione della data non l'avresti avuto.