Newsgroup: it.comp.appl.access
Titolo: Modificare un query

Poniamo che io abbia memorizzato una query di nome "pippo". Se volevo 
modificarla con DAO bastava un bel
Dim a As QueryDef
Set a = CurrentDb.QueryDefs("pippo")
a.Sql = "SELECT ....."
a.Close
e se volevo eseguirla me la cavavo con
a.Execute
Con ADO non riesco a trovare un metodo qualunque per fare lo stesso, 
anzi non capisco proprio come posso fare ad accedere alle query 
memorizzate, non solo per modificarle, ma anche per impostarne i 
parametri ed eseguirle!
Credevo che si trattasse delle Procedure degli oggetti Catalog, ma 
questi risultano desoltamente vuoti... per intenderci:
Dim Cata As New ADOX.Catalog
Cata.ActiveConnection = CurrentProject.Connection
Dim Proc As ADOX.Procedure
Set Proc = Cata.Procedures("pippo") <<---- Impossibile trovare l'oggetto 
nell'insieme...
Qualcuno sa dirmi come devo fare?
-- 
       ^    ^
oOo (Il Gatto) oOo

 nell'insieme...
Perchč usi l'insieme Procedures? Hai provato con l'insieme Views? Direi
che nel tuo caso č molto piů appropriato... ;-)
Ciao
--
Matteo Palmieri - Cybercreations
www.cybercreations.it

 
Grazie! Il problema č che ho una certa fretta e non so per quale 
accidenti di ragione su entrambi i pc che ho qui la guida in linea di 
Access non contempla piů ADO... compare vuota!
Ho provato anche a reinstallare tutto Office ma senza alcun risultato...
Ho qui un manuale della Jackson che spiega tutto sui recordset ma non 
contempla minimamente questi aspetti.... :-(


 contempla minimamente questi aspetti.... :-(
Se hai ancora qualche soldo da parte ti consiglio "Programmare Access
2002" di Mondadori Informatica. A me pare buono anche come guida di
riferimento...


 che nel tuo caso č molto piů appropriato... ;-)
Perň sembra che si ottengano oggetti in sola lettura... Se modifico 
l'oggetto Command associato vedo che CommandText viene apparentemente 
modificata col valore che gli assegno, ma la query non cambia di una 
virgola, e lo vedo anche eseguendola...


 virgola, e lo vedo anche eseguendola...
Come non detto, ho trovato lo stesso il modo.... :-)


 virgola, e lo vedo anche eseguendola...
Mi mostri il codice che usi?


 Mi mostri il codice che usi?
Facevo cosě:
Dim cmd as Command
set cmd = Catalogo.Views("pippo").Command
cmd.CommandText = "...."
e non funzionava un gran chč... poi ho scoperto che invece
Dim cmd As New Command
cmd.CommandText = "...."
Set Catalogo.Views("pippo").Command = cmd
funziona benone! :-)


 funziona benone! :-)
    Era appunto ciň che stavo per consigliarti... ;-)


 oOo (Il Gatto) oOo
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 quando usavi A97.
Il problema è che il lavoro che sto facendo consiste appunto 
nell'eliminare DAO dal database per sostituirlo con ADO. E' un lavoro 
noiosissimo (circa 300 maschere, moduli a parte che sono altre 10.000 
linee di codice...) ma necessario: 'sto coso era stato scritto per la 
prima volta con Access 2.0 (poi passato a 97, ora a 2K e prossimamente a 
Xp) e richiedeva ancora per funzionare una libreria di compatibilità con 
le DAO 2.5 che a quanto pare le installazioni moderne di Office ben si 
guardano dal portarsi dietro. Stufo di questa convivenza che provoca non 
poche rogne di installazione ho deciso di rivoltare tutto come un calzino.
Inoltre il db in un futuro non molto lontano dovrà interfacciarsi con un 
sito scritto in asp (e mi danno solo ADO), e contavo di riciclare un po' 
di codice senza troppa fatica!
