Discussione:
Cancellazione dati in una tabella
(troppo vecchio per rispondere)
Alessandro Baraldi
2007-01-07 18:05:43 UTC
Permalink
DoCmd.RunSQL "DELETE FROM nomeTabella"
mi esce fuori un messaggio che chiede la conferma di tale operazione.
Volevo sapere se era possibile togliere la conferma e far effettuare
l'esecuzione del comando senza chiedere conferma.
Grazie.
CurrentDb.Execute "DELETE FROM NomeTabell"

Ciao
@Alex
Giovanni
2007-01-07 18:12:12 UTC
Permalink
Ciao Valerio
DoCmd.RunSQL "DELETE FROM nomeTabella"
mi esce fuori un messaggio che chiede la conferma di tale operazione.
Volevo sapere se era possibile togliere la conferma e far effettuare
l'esecuzione del comando senza chiedere conferma.
Grazie.
Devi disabilitare gli avvisi
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE FROM nomeTabella"
DoCmd.SetWarnings True (Ripristina gli avvisi)

Ciao
Giovanni
lucio
2007-01-08 09:39:00 UTC
Permalink
Scusa la mia ignoranza:
Qual'è la differenza tra

docmd.runsql... comando in SQL
e
db.execute .... comando in SQL?

grazie per la spiegazione
bye
Post by Alessandro Baraldi
DoCmd.RunSQL "DELETE FROM nomeTabella"
mi esce fuori un messaggio che chiede la conferma di tale operazione.
Volevo sapere se era possibile togliere la conferma e far effettuare
l'esecuzione del comando senza chiedere conferma.
Grazie.
CurrentDb.Execute "DELETE FROM NomeTabell"
Ciao
@Alex
Alessandro Baraldi
2007-01-08 09:54:27 UTC
Permalink
Post by lucio
Qual'è la differenza tra
docmd.runsql... comando in SQL
e
db.execute .... comando in SQL?
grazie per la spiegazione
bye
Per non fare storia a parte ti riporto quanto Karl ha dettagliatamente
esposto sulla differenza tra i 2:


'---------------------------------------------------------------------------------------------------
RunSQL è un metodo di DoCmd che è quasi la representazione
di Access nel codice. Execute è un metodo di DAO (o ADO).
Per questo si può usare Execute anche in VB.


In teoria Execute è un po' più veloce. In pratica spesso le
differenze nella velocità non sono visibili.


RunSQL mostra tutti i messaggi che vengono con una query
salvata e eseguite in Access (per evitare questo si deve usare
Setwarnings). Execute mostra solo errori.


Con RunSQL vengono solo gli errori del oggetto DoCmd.
Con Execute vengono errori che dicono di più sulle cause
e che si possono trattare nel codice.


RunSQL mostra il progress bar (in italiano?) di Access.
Execute non mostra niente bar o osteria.


RunSQL usa l'Expression Service di Access. p.e. conosce gli
oggetti di Access come Forms e sa cos'è un parametro come
Forms!... nel testo SQL direttamente:
"SELECT * FROM Tabella WHERE Id = Forms!Foo!Bar"
Execute non conosce questi parametri e si deve usare:
"SELECT * FROM Tabella WHERE Id = " & Forms!Foo!Bar


RunSQL ha solo un parametro (per usare transazioni).
Execute ha più parametri (vedi <F1> per l'elenco) e ha anche
la proprietà RecordsAffected per sapere il numero di record
cambiati.

--
cu
Karl

'---------------------------------------------------------------------------------------------------

In questo caso particolare con il metodo Execute membro dell'oggetto
Database eviti di
impostare i Warnings in quanto fai lavorare JET...!

@Alex

Loading...