Newsgroup: it.comp.appl.access
Titolo: input per la query deve contenere almeno una tabella o una query

vi chiedo un problema di cui ho trovato ben poco in rete
ho un pulsante di comando che richiama su click
questa una funzione che dovrebbe eseguire un sql di crazione tabella:
invece mi da il seguente errore:  L'input per la query deve contenere almeno
una tabella o una query"
Function inpru()
On Error GoTo inpru_Err
DoCmd.SetWarnings False
DoCmd.RunSQL "SELECT siti.codice_rilevamento, siti.tipo_osservazione,
siti.numero_osservazione, " & _
"sottounita.CODICE_UNITA,sottounita.S_UNITA, siti.prof_utile AS dato,
sito_su.grado_corr INTO trash2" & _
"FROM siti INNER JOIN (sottounita INNER JOIN sito_su ON (sottounita.S_UNITA
= sito_su.s_unita)" & _
"AND (sottounita.CODICE_UNITA = sito_su.unita)) ON (siti.numero_osservazione
= sito_su.numero_osservazione)" & _
"AND (siti.tipo_osservazione = sito_su.tipo_osservazione) AND
(siti.codice_rilevamento = sito_su.codice_rilevamento)" & _
"WHERE (((sottounita.CODICE_UNITA)=[Forms]![sottounita]![UTS])" & _
"AND ((sottounita.S_UNITA)=[Forms]![sottounita]![STS]) AND
((siti.prof_utile)  Not Between [mpro_utile]-2*[dspro_utile] And
[mpro_utile]+2*[dspro_utile]) " & _
"AND ((sito_su.grado_corr)<>'c'));"
 DoCmd.openform "sigma3", acViewNormal, acEdit
 Forms.sigma3.intestazione.Caption = "Osservazioni devianti per: profondità
utile"
inpru_Exit:
    Exit Function
inpru_Err:
    MsgBox Error$
    Resume inpru_Exit
End Function
quando eseguo il solo sql in una query di prova..... funziona perfettamente.
qualche aiutino?
grazie

 quando eseguo il solo sql in una query di prova..... funziona perfettamente.
Alt, fermati qui. Da che mondo è mondo, se tu fai una SELECT, questa è
una select, ti restituisce dei risultati prelevati da qualche parte.
Il fatto che il query-designer di Access abbia una opzione per creare
una tabella partendo da una select, è un altro paio di maniche, perché
in realtà Access prima chiede il nome della tabella da creare, poi
analizza i campi che ottiene dalla select per eseguire prima una
CREATE TABLE basata sui campi della select:
CREATE TABLE <tabella> (nome_campo TEXT, nome_campo1 NUMERIC,
nome_campo2 TEXT)
e poi accoda i risultati ottenuti dalla select in questa tabella
appena creata.
Morale della favola: se vuoi creare una tabella da codice, o utilizzi
istruzioni SQL apposite (CREATE TABLE ....) oppure ricorri ai metodi
DAO (tutt'altra storia).
Se cerchi "create table" oppure "access creare tabella" hai voglia che
ne trovi di roba... :-)
ciao,
Panathos

 grazie
Prego
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------

 ha scritto nel messaggio
news:1176820813....@b75g2000hsg.googlegroups.com...


 chiedo se possibile ulteriori dettagli
Mmm... più che ulteriori dettagli occorrerebbe un 'corso minimo' di
sql, rispetto a quanto ti ho già detto... però potresti ricorrere a un
escamotage: prepari la query che ti serve nel QBE, fai una macro
"apriquery..." con avvisi settati su OFF (per evitare l'avvertimento
della distruzione della tabella), che poi esegui da codice tramite
"docmd.runmacro <macro>".
ciao,
Panathos