Newsgroup: it.comp.appl.access
Titolo: Stringa SQL: nome query in una variabile

A una Function passo il nome di una query:
Public Function St_Graph_Naz(ByRef NameQuery As String)
A queto punto dovrei fare all'interno di questa Function un ordinamento
della query, il probelma è che non riesco farlo utilizzando la variabile
NameQuery
Esempio Funzionante:
sSql = " SELECT Q_Ric_sql.Nazione, Q_Ric_sql.Totale FROM Q_Ric_sql"
sSql = sSql & " ORDER BY Q_Ric_sql.Nazione;"
Set QQ = db.OpenRecordset(sSql)
Esempio non funzionante:
sSql = " SELECT NameQuery.Nazione, NameQuery.Totale FROM NameQuery"
sSql = sSql & " ORDER BY NameQuery.Nazione;"
Set QQ = db.OpenRecordset(sSql)
avete suggerimenti, grazie.
--
bye marco s.
www.marcosanti.it

 
www.marcosanti.it
sSql = "SELECT " & NameQuery & ".Nazione, " & _
       NameQuery & ".Totale FROM " & NameQuery
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

        NameQuery & ".Totale FROM " & NameQuery
Ciao, marco. Ciao, namor.
    Con Access 2000 o superiore si potrebbe scrivere anche cosi':
        sSql = "SELECT [<Q>].Nazione, [<Q>].Totale FROM <Q>"
        sSql = sSql & " ORDER BY [<Q>].Nazione;"
        sSql = Replace(sSql, "<Q>", NameQuery)
        Set QQ = db.OpenRecordset(sSql)
-- 
Ciao :o)
Maurizio Borrelli, Microsoft MVP Access
--------
?SPQR(C)
 X
--------

 Namor
grazie, funziona perfettamente :-)
marcos

 ha scritto nel messaggio
news:WI9Sb.1179$HO2...@news.edisontel.com...

Soluzione DOC..., veramente una bella soluzione.
@Alex.

 Soluzione DOC..., veramente una bella soluzione.
Ciao, @Alex.
    Troppo buono! :-)
    In effetti la cosa non e' malvagia perche' aumenta la flessibilità della
scrittura delle stringhe sql. Non solo, pensa ai messaggi di errore ed
avvisi varii...


 ...
1. Nel tuo esempio non è necessario di qualificare perché hai
solo un oggetto nel FROM. Basta
sSql = " SELECT Nazione, Totale FROM [" & NameQuery & "]"
sSql = sSql & " ORDER BY Nazione;"
2. Se vuoi qualificare nel senso di "good practices" o perché
ci possono essere più oggetti nel FROM good practice e
standard è di usare un alias. p.e.
sSql = " SELECT a.Nazione, a.Totale FROM [" & NameQuery & "] AS a"
sSql = sSql & " ORDER BY a.Nazione;"
In tutti e due varianti debbi usare la variabile una sola volta.
-- 
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: 
http://www.donkarl.com
Datenbankprofis: 
http://www.dbdev.org

 > Soluzione DOC..., veramente una bella soluzione.
Ciao, @Alex.
    Visto cosa scrive Karl? E' proprio vero che non si finisce mai di
dimenticare!...
    :-) + :-(
    Il resto del discorso invece... resta.


 In tutti e due varianti debbi usare la variabile una sola volta.
Molto interessante, grazie.
Mi sono salvato sia questa che quella di Maurizio che però non posso provare
perchè per il momento resto su A97.
ciao marco s.

     Il resto del discorso invece... resta.
Verissimo, e mi piacciono molto queste cose, estremamente
flessibili e potenti a livello di semplificazioni....!
Sono sempre dell'idea che meglio scrivere 1 riga in meno che
2 in più.
Ciao.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Windows 2000 Advanced Server, Redhat Linux, Debian, FreeBSD
http://www.comserver.net
Agents wanted now
http://www.comserver.net/jobs.php