Newsgroup: it.comp.appl.access
Titolo: risposta ad un MSGBOX

il quesito:
if bla bla then ' dopo aggionamento di un mio controllo
msgbox " altro bla bla",vbOKCancel,"titolo"
me.undo
exit sub
end if
accade che, chi usa il programma preme invio di seguito due tre volte
e non si accorge nemmeno di aver risposto OK al messaggio di errore
(lavora con la testa bassa...lui dice che è piu veloce del pc..MA!!),
è possibile inibire il button di ok ovvero non selezionare  alcun button
in modo che solo premendo con il click del mouse si possa rispondere
al msgbox,
o per cortesia trovatemi un'altra soluzione
grazie in anticipo


Creati una form tua e la mostri.
Lì ci metti delle etichette per rispondere a sì o no.
le etichette non sono tabulabili, quindi in automatico non ricevono il focus
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 focus
grazie ci avevo pensato, ma credevo che si potesse ho inibire in button del 
msgbox, oppure inibire momentaneamente in tasto INVIO
grazie


Tu puoi dire di defaul quale tasto focalizzare, ma non è altrettatnto
efficace


 ha scritto nel messaggio 
news:cXQ4f.595$VI2...@news.edisontel.com...

-- 
---
   Ciao
   Napoleone
                     ---
Scusatemi l'intrusione,
MA volevo chiedere come si può impostare di default No, oppure annulla?

**************************************************************************************
Io Utilizzo questa procedura x tutte le volte che voglio inviare un 
messaggio all'utente  ed obbligarlo
a fare una scelta
in qualunque Punto  dove serve il Messaggio inserire :
---------------------
MessaggioOK = "Esempio A T T E N Z I O N E   COMPATTARE  LA  PROCEDURA"
DoCmd.OpenForm "CasellaSiNoRossa", , , , , acDialog
If   ControlloOK = "SI" Then
     'Istruzioni quando si Premuto "SI" sulla Maschera di Nome : 
CasellaSiNoRossa
      ..........
      ...............
Else
     'Istruzioni quando si Premuto "NO" sulla Maschera di Nome : 
CasellaSiNoRossa
      ..........
      ...............
end if
--------------------
Creare una Maschera di Nome : CasellaSiNoRossa
1 Campo di nome                                        : Messaggio
1 Pulsante di comando a sinistra di nome   :  SI
1 Pulsante di comando a Destra di nome   :   NO
Le variabili   "MessaggioOK"  e  "ControlloOK"    sono Pubbliche
Di default mi posiziono sul NO che è quella che viene assunta se un o preme 
invio.
-------------------------
Queste sono le  istruzioni da iinserire sulla Maschera di Nome : 
CasellaSiNoRossa
che contiene
------------------------
Option Compare Database
Option Explicit
Private Sub Form_Load()
On Error GoTo Err_SSSSSSSSSS
   DoCmd.Beep
   DoCmd.MoveSize , 1500
   Me.Messaggio = MessaggioOK
   If GloColor = 255 Then
      Me.Messaggio.BackColor = 16776960
      GloColor = 16776960
   Else
     Me.Messaggio.BackColor = 255
    GloColor = 255
   End If
Exit_SSSSSSSSSS:
    Exit Sub
Err_SSSSSSSSSS:
    MsgBox Err.description
    Resume Exit_SSSSSSSSSS
End Sub
Private Sub No_Click()
On Error GoTo Err_SSSSSSSSSS
    ControlloOK = "NO"
    DoCmd.Close
Exit_SSSSSSSSSS:
    Exit Sub
Err_SSSSSSSSSS:
    MsgBox Err.description
    Resume Exit_SSSSSSSSSS
End Sub
Private Sub SI_Click()
On Error GoTo Err_SSSSSSSSSS
  ControlloOK = "SI"
  DoCmd.Close
Exit_SSSSSSSSSS:
    Exit Sub
Err_SSSSSSSSSS:
    MsgBox Err.description
    Resume Exit_SSSSSSSSSS
End Sub
--------------
Saluti
Marcello Riaudo

 ha scritto nel messaggio 
news:4353eb30$0$13359$4faf...@reader2.news.tin.it...

scusatemi per ieri sera ho dovuto chiudere la discussione
grazie a tutti per i suggerimenti
ciao psq

Napoleone wrote:

msgbox "Ciao",vbDefaultButton2
-- 
_ _
Ciao


 ha scritto nel messaggio 
news:8L05f.18242$Pe2.3...@twister2.libero.it...

Anch'io leggo con ritardo..
Grazie per i suggerimenti.


 ha scritto nel messaggio 
news:E415f.682$VI2...@news.edisontel.com...

Buongiorno Massimiliano,
ritorniamo su quest'argomento?
ti riporto la parte importante del codice
------------
DoCmd.SetWarnings False
 If MsgBox("Sei sicura di voler Cancellare dalle PRESENZE DI OGGI la 
Cliente: " & Testo37 & " " & " Codice: " & strRif & " ?", vbCritical + 
vbOKCancel, "Ge.Sa.- Hair Sudio") = vbAnnulla Then
     DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
     DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
 MsgBox "La Cliente: " & " è stata Cancellata"
 strRif = ""
 Else
 MsgBox "Annullata la CANCELLAZIONE della Cliente"
 DoCmd.SetWarnings True
---------------------------
Con questo codice, mi seleziona di default il pulsante con OK, come andrebbe 
cambiato per selezionare ANNULLA?
-- 
---
   Ciao e Buona giornata
   Napoleone
                     ---  

 andrebbe cambiato per selezionare ANNULLA?
-- 
_ _
Ciao


Super CUT
..
Che casino, adesso non mi cancella addirittura niente :-((((((
Cosa sarà successo??
Scusami MA, ci puoi dare un'occhiata :-)
riallego il codice dell'evento, per intero:
--------------------------------
Private Sub eliminacliente_dal_salone_Click()
  On Error GoTo Err_eliminacliente_dal_salone_Click
Me.eliminarecordvuoti.Visible = True
     Dim strRif As String
     strRif = Me.lCodiceBarreCliente
 DoCmd.SetWarnings False
 If MsgBox("Sei sicura di voler Cancellare dalle PRESENZE DI OGGI la 
Cliente: " & Testo37 & " " & " Codice: " & strRif & " ?", vbCritical + 
vbOKCancel, "Ge.Sa.- Hair Sudio") = vbOK Then
     DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
     DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
 MsgBox "La Cliente: " & " è stata Cancellata"
 strRif = ""
 Else
 MsgBox "Annullata la CANCELLAZIONE della Cliente"
 DoCmd.SetWarnings True
 End If
 Me.CasellaCombinata27.Requery
 Me.CasellaCombinata29.Requery
Exit_eliminacliente_dal_salone_Click:
    Exit Sub
Err_eliminacliente_dal_salone_Click:
    If Err.Number = 94 Then
               MsgBox ("ATTENZIONE!! NESSUN CLIENTE SELEZIONATO! 
Cancellazione non valida"), vbCritical + vbOKOnly
    End If
    Resume Exit_eliminacliente_dal_salone_Click
 End Sub
-------------------------------


 -------------------------------
-- 


 MAssimiliano Amendola
MA , la cosa più preoccupante, che se voglio cancellare dando l'OK, non mi 
cancella il record..
Come mai?


 Come mai?
Ti restuisce errore o non lo fa e basta?
e' un record uno a molti?
sta dal lato 1 o quello molti?
-- 
_ _
Ciao


 MAssimiliano Amendola
Mi dice la cliente  è stata eliminata, in realtà è li..
M_Presenza_Nuona
relazione 1 a M
dal lato 1 (Ancora senza dati nella tb molti.)



Infatti se ricordo bene presenza nuova è un record del lato molti della
relazione, quindi tu cancelli
il lato molti anche se non hai ancora scritto dati (ma il contatore è già
scattato selezionando il lato 1)
La soluzione dovrebbe essere invece un
currentdb.execute "delete * from tuatabellaClienti where idcliente = " &
me.idcliente
-- 
_ _
Ciao


 ha scritto nel messaggio 
news:qMo5f.948$VI2...@news.edisontel.com...

Siccome fra nonmolto debbo scappare a lavoro,
ti ho inviato il file per poterlo visionare.
La cosa buffa, che funzionava fino a ieri.. MAh!!


Ciao MA,
pare che cosi và bene, speriamo per sempre!!
 --------------- 
CurrentDb.Execute "delete * from Tb_Presenze_Oggi where lCodiceBarreCliente 
= " & Me.lCodiceBarreCliente
Me.Requery
 --------------------
 Come ti sembra?


  Come ti sembra?
Ho fatto proprio questo
e formattato il msgbox
te lo mando
-- 
_ _
Ciao


 MAssimiliano Amendola
Hai messo la ciliegia sulla torta :-))))))))))
GRAZIE!
... ritornando al problema iniziale del discorso, come mai il focus, quando 
clicco sul pulsante incriminato, non si posiziona su annulla.
Come mi hai suggerito in precedenza, in pratica il comando di eliminazione 
veniiva sotituito da annulla, anche se si cliccava su OK


 eliminazione veniiva sotituito da annulla, anche se si cliccava su OK
-- 
_ _
Ciao


 ha scritto nel messaggio 
news:QGp5f.972$VI2...@news.edisontel.com...

E come verrebbe impostato il secondo bottone?



te l'ho scritto vbdefaultbutton2
devi mettere vbcritical+vbokcancel+vbdefaultbutton2
-- 
_ _
Ciao


 ha scritto nel messaggio 
news:aKp5f.974$VI2...@news.edisontel.com...

Finalmente, risolto anche questo problema.
