Newsgroup: it.comp.appl.access
Titolo: Controllare se una query è stata eseguita

Buongiorno a tutti e grazie a tutti coloro che mi hanno aiutato nei miei
precedenti post!
Ciò che vorrei risolvere oggi è questo:Ho creato una query di accodamento
che viene lanciata all'evento click di un pulsante di comando.L'evento oltre
a lanciare la query apre la tabella di accodamento consentendo all'utente di
verificare i record accodati ed eventualmente cancellare i duplicati (nella
tabella si deve accodare solo una volta al giorno...un utente erroneamente
potrebbe lanciare la query n volte al giorno!!).
Ho però una difficoltà.Vorrei che l'utente avesse la possibilità di
ripensarci in fase di lancio della query........in poche parole viene
visualizzato dopo il lancio il mess: "la query accoderà tot record nella
tabella....continuare? ==> SI NO.
Vorrei che la tabella di accodamento si aprisse solo nel caso in cui
l'utente sceglie si ma nel caso in cui sceglie di non accodare non voglio
far aprire la tabella.
Come potrei fare?
--------------------------------
Inviato via 
http://usenet.libero.it


Inserisci un capo sì/no nella tabella e dopo aver lanciato l'accodamento
lanci l'aggiornamento a sì. Come criterio dell'accodamento devi trovare solo
i no.
ciao MAssimiliano


 i no.
Scusa ma, francamente, non ho capito cosa dovrei fare ma soprattutto se
questo è la soluzione al mio problema.
Se aggiungo un campo si/no e lo accodo con criterio impostato a no poi mi
ritroverò n records con campi impostati a no ma la tabella mi si aprirebbe
comunque.....ho già provato!


 ha scritto nel messaggio
news:151Z96Z0Z8Y10...@usenet.libero.it...

Parto dalla seconda:
Da codice:
If MsgBox("Accodare i dati?", vbYesNo + vbDefaultButton2, "Accodamento in
corso...") = 7 Then
Exit Sub
Else
DoCmd.SetWarnings False
DoCmd.OpenQuery "TuaQueryDiAccodamento"
DoCmd.SetWarnings True
End If
Per il primo quesito una soluzione potrebbe essere quella di crearti una
tabella di appoggio con Data e OperazioneEseguita (tipo sì/No).
Se l'utente decide per il sì accodi alla tabella la data (e magari anche
l'ora) di esecuzione della query e imposti a Sì (True) OperazioneEseguita.
Se opti per questa soluzione allora il codice sopra scritto va modificato
prevedendo un controllo preventivo sulla tabella di appoggio.
Ti ricordo che la "tabella di accodamento" non esiste. Se ti riferisci
all'apertura della tabella attraverso una maschera puoi tranquillamente
aggiungere un altro If al codice sopra riportato.
Ciao; Carlo

 wrote in message
151Z96Z0Z8Y10...@usenet.libero.it...

lanci una maschera in cui chiedi se vuole accodare o meno....
evento click tuo tasto
docmd.openform "maschera di scelta"
....
sui tasti SI  e NO della maschera di scelta metti
Evento click Tasto SI
docmd.openquery tua query di accodamento
esegui gli altri comandi
docmd.close acform,
me.name
Evento click Tasto NO
docmd.close acform,
me.name
Ciao Max

 ha scritto nel messaggio
news:151Z96Z0Z8Y10...@usenet.libero.it...

Se hai la necessità di verificare l'esecuzione di una QRY ti converrebbe
non usare Qry Compilate, ma una QRY ACTION da codice:
Currentdb.Execute "DELETE * FROM tuaTABLE",dbfailOnerror
Il Metodo Execute poi ha altre particolarità se usato via ODBC, che
restituisce nel caso di QRY UPDATE il numero deri Record modificati...!
Non so se ti può essere d'aiuto, ma anche nell'Help se razzoli un pò tra il
metodo
EXECUTE trovi alcuni esempi puntuali.
@Alex.


Credo di non aver capito cosa effettivamente vuoi. Cmq se vuoi quel
messaggio di conferma
potrai scrivere
Dim quantirec as integer
quantirec = dcount("*", tuatabella, eventuale_criterio)
Dim IntNuovo As Integer, strTitolo As String
Dim IntFinestraMsg As Integer, strMsg As String
strTitolo = "Attenzione"
strMsg = "La query accoderà" & Chr(13) & Chr(10) & quantirec & Chr(13) &
Chr(10) & "vuoi continuare?"
IntFinestraMsg = vbYesNo + vbQuestion
IntNuovo = MsgBox(strMsg, IntFinestraMsg, strTitolo)
If IntNuovo = vbYes Then
fai quello che vuoi.
Spero che così vada
ciao MAssimiliano
