Msgbox vbOKonly

di il
5 risposte

Msgbox vbOKonly

Quanto segue non funziona:
Private Sub Data_operazione_AfterUpdate()
Dim dimmi As Variant
If Year(Data_operazione) = Year(Now) And DatePart("m", Data_operazione) < 4 Then
Me.Importo_operazione.Visible = True
Else
dimmi = MsgBox("!!! ATTENZIONE !!!" & vbCrLf & "Puoi registrare solo operazioni comprese tra il 1° gennaio e 31 marzo", vbExclamation, "CCCP")
Me.Data_operazione.SetFocus
End If
End Sub
Me.Data_operazione NON prende il focus
sembra che dopo la chiamata della msgbox non accetti altre istruzioni
Perche? Dove sbaglio

Chiedo anche perchè nel caso sopra sono stato costretto chiamare la msgbox tramite la variabile, mentre nel caso seguente tutto funziona a puntino senza chiamare la msgbox tramite la variabile (e funziona anche il setfocus)
If Me.TipoContributo = 1 Then
Me.Tipo_Operazione = "E10"
Me.Id_Mastrino = Me.Azienda
Me.Note.Visible = True
If Me.Note = Me.Data_operazione Then
MsgBox "La data ultimo mese versato è probabilmente da correggere!", , "CCCP"
Me.Note.SetFocus
End If

ElseIf...
Grazie a chi volesse illuminarmi

5 Risposte

  • Re: Msgbox vbOKonly

    A parte il setfocus, perché utilizzi la variabile?
  • Re: Msgbox vbOKonly

    oregon ha scritto:


    A parte il setfocus, perché utilizzi la variabile?
    Senza variabile, nel primo caso, mi da: "errore di compilazione. Previsto: = "
    Nel secondo caso non lo fa.
    L'uso della variabile mi è stato suggerito da questa pagina http://ennius.altervista.org/free/ifvba30.ht
  • Re: Msgbox vbOKonly

    AmnesiaVivace ha scritto:


    oregon ha scritto:


    A parte il setfocus, perché utilizzi la variabile?
    Senza variabile, nel primo caso, mi da: "errore di compilazione. Previsto: = "
    Nel secondo caso non lo fa.
    L'uso della variabile mi è stato suggerito da questa pagina http://ennius.altervista.org/free/ifvba30.ht
    Ho capito dove sbagliavo rispetto a questo punto.
    Mi rimane il problema del setfocus che non funziona (primo esempio, adesso riformulato):
    
    Private Sub Data_operazione_AfterUpdate()
    If Year(Data_operazione) = Year(Now) And DatePart("m", Data_operazione) < 4 Then
    Me.Importo_operazione.Visible = True
    Else
    MsgBox "Puoi registrare solo operazioni comprese tra il 1° gennaio e 31 marzo", vbExclamation, "CCCP"
    Me.Data_operazione.SetFocus
    End If
    End Sub
  • Re: Msgbox vbOKonly

    Se usi Msgbox come funzione (con le parentesi) è ovvio che voglia =
    Devi usarla come istruzione, senza parentesi

    Per il setfocus non so di preciso, dovrei provare. Probabilmente uscendo da questa sub, parte un evento che sposta il focus
  • Re: Msgbox vbOKonly

    oregon ha scritto:


    Se usi Msgbox come funzione (con le parentesi) è ovvio che voglia =
    Devi usarla come istruzione, senza parentesi
    SI
Devi accedere o registrarti per scrivere nel forum
5 risposte