Newsgroup: it.comp.appl.access
Titolo: Query da comando VBA

Premetto che non sono molto esperto e vorrei un suggerimento.
Come suggerito in questo N.G., per chiarezza di codice vorrei evitare di
inserire comandi di esecuzione di query ed inserire direttamente il codice
SQL.
Quale è il metodo migliore?
Io ho copiato sql della query e inserito al posto del comando di esequzione
della query ma stranamente il debug lo segna il rosso.
questo è il codice che ho inserito.
DELETE [IMMOBILI IN LOCAZIONE].* , [IMMOBILI IN LOCAZIONE].Filiale FROM
[IMMOBILI IN LOCAZIONE] WHERE
[IMMOBILI IN LOCAZIONE].Filiale
=[Forms]![selezione_aggiorna]![CasellaCombinata0]
INSERT INTO [IMMOBILI IN LOCAZIONE] SELECT [IMMOBILI IN LOCAZIONE].* FROM
[IMMOBILI IN LOCAZIONE] IN 'C:\IMPORTA.mdb'
Il segnalatore di errore indica per esempio errato l'asterisco.
Premetto che mi piacerebbe conoscere meglio la sintassi SQL quindi se
qualcuno vuole fare un trattato sull'argomento lo leggero volentieri :-)
Ciao
Marco

qualcuno vuole fare un trattato sull'argomento lo leggero volentieri :-)
Non ho capito: tu vuoi preparare questa stringa sql per lanciarla via
codice?
Se č cosě quando usi il riferimento alla form devi concatenare il suo valore
alla stringa stessa in quanto che č come se fosse una variabile.
Guarda la mia risposta al problema analogo di Andrea
Antonio

Quale è il metodo migliore?

Stefano Radice <ste...@NOSPAMstefano.com> wrote in message
85pjv8$1lf$1...@news.flashnet.it...

Grazie dei consigli.
Marco

compilato e quindi sono piů performanti
cos'e' un execution plan compilato?
--------------------------------------------------
ATTENZIONE!
it.comp.database.access diventera' it.comp.appl.access!
cercalo tra i nuovi ng e linkalo!
-----------------------------------
rimuovere NOSPAM. per mandare email
-----------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access

=[Forms]![selezione_aggiorna]![CasellaCombinata0]
intanto non serve ripetere il campo Filiale, anche se lo usi nel
where, visto che hai gia' usato l'asterisco.  anche il nome dalla
tabella, visto che non ci sono join, e' del tutto facoltativo.  guarda
come si legge megli ola query:
DELETE * FROM [IMMOBILI IN LOCAZIONE] 
WHERE Filiale= [Forms]![selezione_aggiorna]![CasellaCombinata0]
secondo, non e' che tu scrivi questa query sql nel codice e basta.  il
codice e' codice e l'sql e' sql.  per il codice una query sql altro
non e' che una stringa, un argomento da passare ad un metodo che sa
come interpretarla.
quindi per eseguire quanto sopra scriverai:
docmd.runsql "DELETE * FROM [IMMOBILI IN LOCAZIONE] " & _
                     "WHERE Filiale= '" & _
                [Forms]![selezione_aggiorna]![CasellaCombinata0] & "'"
nota che se il tipo dati di Filiale e' testo, allora il valore di
[CasellaCombinata0] deve essere racchiuso tra apici.  cioe' se
[CasellaCombinata0] hai selezionato Roma, la stringa risultante dovra'
essere:
DELETE * FROM [IMMOBILI IN LOCAZIONE] WHERE Filiale= 'Roma'


cos'e' un execution plan compilato?







Grazie della dettagliata spiegazione.
Leggo da qualche mese questo N.G. e devo dire che appezzo molto l'alto
livello tecnico ma soprattutto la disponimilità nei confronti di quelli che
si trovano all'inizio.
Capisco che per molti queste cose sono più che scontate ma un argomento
trattato in modo così chiaro credo che siano di aiuto a molti ragazzi che
iniziano a programmare (aimè non sono nella categoria ragazzi).
Ciao
Marco


Mi pare ci sia un modo non documentato per vedere anche
l' execution plan della jet-engine, avevo letto qualche cosa del
genere sul manuale della Sybex. Ricordiamoci sempre però
che quello che è stato ottimizzato per qualche decina di record
(in fase di sviluppo) non è affatto detto che vada bene in produzione
(su tabelle da magari qualche centinaio di mega)...
Un ottimo motivo x un bel /decompile alla fine di ogni
ciclo di manutenzione su BE diversi da quello reale
(o quando i dati sono cambiati in modo rilevante).
Bye, Ste


mi interessa questa storia dell'execution plan: che cos'e'? inoltre: il
discorso vale anche se poi devo da codice cambiare qualche pezzo
dell'istruzione SQL e fare la requery? mi puoi suggerire qualche testo
sull'internal di Access?
grazie da barbi