Newsgroup: it.comp.appl.access
Titolo: Recordset.Open "MiaQuery" genera un errore

Salve al NG
Vorrei semplicemente aprire una Qurey da codice. Perchè genera un errore?
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "MiaQuery", CurrentProject.Connection, adOpenStatic, adLockReadOnly
Eppure il metodo rs.Open "NomeQuery" l'ho visto su un libro...
L'errore dice "ISTRUZIONE SQL NON VALIDA. PREVISTA : DELETE, INSERT ETC..
potete darmi una spiegazione?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Ciao Mario,
il metodo funziona, probabilmente stai tendando di aprire una query che
richiede dei parametri.
Ciao
-- 
Giorgio Rancati
[Office Access MVP]

 ha scritto:

Ciao Giorgio. Si è vero: i parametri sono [Forms]![MiaForm]![MioCampo]
Togliendo questi parametri e inserendo semplicemente un criterio su un Campo
x es: 1
La query si apre. Non è anche quello un parametro?
Altra domanda già che ci siamo:
La sintassi del generatore di Query è diversa dalla sintassi di VBA?
La query copiata e incollata su codice non funziona. Che cosa cambia in
genere?
Le parentesi? gli apici " "?...E' un casino. Grazie ciao.


 Inviato via 
http://arianna.libero.it/usenet/


 Le parentesi? gli apici " "?...E' un casino. Grazie ciao.
certo, se nel codice Sql utilizzi i doppi apici questi complicano la
scrittura in vba perchè sono utilizzati per le stringhe.


 ((Capitolato.Appr_Mov)=2));"
a prima vista manca uno spazio prima della FROM e uno prima della WHERE,
sono importanti anche gli spazi.
Come hai fatto tu la Where è intesa come nome di campo
----
TariffaBase.IdNomeTariffaBaseWHERE
----
con lo spazio Access può capire che hai inserito la clausola Where.
----
TariffaBase.IdNomeTariffaBase WHERE
----
Cia


 _______
Certo! Hai ragione per lo spazio!...E anche per la Costante - Parametri
Ho corretto la stringa aggiungendo i due spazi ma adesso dice:
"Un azione EseguiSQL richiede un argomento costituito da un istruzione SQL "
??????????????????????????? Intanto Grazie????????????????????


 ??????????????????????????? Intanto Grazie????????????????????
sě, non puoi eseguire una query di selezione con il comando RunSql, che
senso ha ?
O ti apri il recordset come nel tuo post originale o salvi il testo Sql in
una query e poi la visualizzi con Docmd.OpenQuery
Ciao


 ha scritto:

Quindi se ho ben capito :
SOLUZIONE 1 Mi apro una query (ma deve essere senza parametri)
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "MiaQuery", CurrentProject.Connection, adOpenStatic, adLockReadOnly
_________________________________
SOLUZIONE 2 mi apro la Query solo per Leggerla
Docmd.OpenQuery "Nome query", Visualizzazione, ReadOnly
SOLUZIONE 3 serve solo ad aggiornare la Query
Docmd.RunSQL non dovrebbe esserci il SELECT ma INSERT, UPDATE etc
Giusto? Spero di si. Credo di essermi chiarito dei misteri vecchi di anni.
Tante Grazie ciao.


 Tante Grazie ciao.


 O meglio. Ho capito in parte ma non ho trovato la soluzione.
Ho sempre aperto Recodset basato su tabelle.
Ora mi serve di aprire un Recordset che legge i dati da una Query (Che dei
Parametri).
Es : Rs!NumeroOrdine, Rs!IDfornitore etc.
E' possibile? con quale metodo?
Scusa se sono capoccione!


 Scusa se sono capoccione!
se devi aprire con ADO un recordset da una query con parametri guarda qui.
----
Aprire una query parametrica utilizzando ADO.
http://web.tiscali.it/giorgiorancati/msaccess/documents/adoqueryparametrica.htm
----


 [Office Access MVP]


 Mario P
Casomai apri un altro thread, il problema in oggetto **Recordset.Open
"MiaQuery" genera un errore** mi sembra che sia stato chiarito :-)
