Newsgroup: it.comp.appl.access
Titolo: Query di Aggiornamento

Ciao a tutto l'NG.
Vi scrivo perchè vi chiedo un aiuto. Non ho trovato una risposta in
giro per il ng.
Dovrei fare una query di aggiornamento molto semplice.
Nella mia tabella ho un codice.
Con una query da aggiornamento scrivo una data a tutti i record che
hanno il codice scelto.
La query quindi fa comparire:
"Numero di righe che verranno aggiornate X
Aggiornare questi record? SI - NO"
Anche quando clicco NO, i record si modificano lo stesso e mi trovo la
data scritta.
Come si deve fare per far si che se clicco NO, non cambi la tabella?
Ciao F

 Ciao F
strano!!! che tipo di tabella č? access o collegata via odbc...
se č access non dovrebbe lanciare la query cliccando su NO
se non č access li aggiorna lo stesso ma te lo dice
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 se non è access li aggiorna lo stesso ma te lo dice
No no, niente odbc.
La tabella è collegata, tutto in access.
La query di aggiornamento parte facendo click sul pulsante di una
maschera
dove metto il codice e la data che i record devono eventualmente
avere.
La query prende queste due valori e inizia a girare.
Cosa posso fare?
Fabio

 Fabio
a ma la cosa cambia
da quello che avevi detto sembrava la lanciassi a mano la query
codice di esempio:
Dim conferma As Integer
Beep
conferma = MsgBox("Confermi?", 292)
If conferma = 6 Then
docmd.openquery "aaa"
   else
   beep
   msgbox "non aggiorno
End If



Ho inserito il codice che mi hai suggerito.
Mi chiede Confermi? prima di far girare la query. Per forza gli dico
di si,
la query gira e quindi mi chiede se modificare oppure no i record.
Se gli dico di NO mi scrive lo stesso i record.
Forse devo intercettare il SI - NO della query quando mi segnala
quanti record verrano modificati?
Help!
Ciao F

 quanti record verrano modificati?
Ho risolto questo problema usando :
Public Function CodiceBARRE_Resocontazione()
Dim strMsg As String
Dim conferma As Integer
strMsg = "Avvia Resocontazione?"
conferma = MsgBox(strMsg, vbOKCancel)
If (conferma = vbCancel) Then
Exit Function
Else
DoCmd.RunSQL "UPDATE DISTINCTROW [01 tabella di base] SET [01 tabella
di base].[Giornale cassa] = [Forms]!
[frmResocontazione_con_CodiceBARRE]![fldGiornalecassa] WHERE (([01
tabella di base].[NoBollettino]=[Forms]!
[frmResocontazione_con_codiceBARRE]![fldNoBollettino] And ([01 tabella
di base].NoBollettino)<>0))AND (([01 tabella di base].[Data incasso]
Is Not Null)); "
End If
End Function
Ora però se annullo la query di aggiornamento, che correttamente non
scrive nulla in tabella, mi compare però:
Errore runtime 3059
Operazione annullata dall'utente
C'è un modo per non far comparire nessun messaggio?
Fabio

fabio ha scritto:






guarda che se tu esegui il codice qui sotto funziona tutto perfettamente:
Dim conferma As Integer
Beep
conferma = MsgBox("Confermi?", 292)
If conferma = 6 Then
MsgBox "esegui operazione"
Else
Beep
MsgBox "non esegui operazione"
End If
se clicci sul tasto sì ti darà il messaggio "esegui operazione" se clicchi
sul tasto no ti uscirà il messaggio "non esegui operazione".
quindi basta mettere quello che vuoi venga eseguito dove c'è il messaggio
"esegui operazione"
basta provare... no?


 - Mostra testo tra virgolette -
Avevo provato infatti, e girava come dici tu.
Però il mio problema è che successivamente al SI iniziava a girare la
query di aggiornamento che poi a sua volta mi chiedeva se modificare i
record oppure no.
E' qui che cliccando no mi cambiava lo stesso i record.

fabio ha scritto:


devi usare questo:
DoCmd.SetWarnings False
DoCmd.OpenQuery "aaa"
DoCmd.SetWarnings True
così i messaggi non li vedi più, neanche quelli di errore
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
