Evento Before Update Casella di riepilogo

di il
9 risposte

Evento Before Update Casella di riepilogo

Ciao a tutti,
ho una casella di riepilogo che uso per ricercare record in una tabella.
Adesso vorrei che quando provo ad utilizzare la casella di riepilogo, se due campi richiesti sono vuoti, questa non mi consenta di spostarmi in altri record.

questo codice sembra funzionare, pero' vorrei anche che il valore che ho cercato all'interno edlla casella di riepilogo rimanga tale.

Cioè se la casella diriepilogo ha valore 10 ed io cerco il valore 9, il codice mi da la msgbox correttamente e non fa nessuna ricerca, pero' vorrei che il valore rimanesse 10 e non cambiasse su 9
Private Sub casellaRicerca_BeforeUpdate(Cancel As Integer)
If (Me.CompanyName.Value & "" = "") Then
If (Me.ShopName.Value & "" = "") Then
MsgBox ("Company or Shop Name must be filled!!")
Cancel = True
End If
End If
End Sub

9 Risposte

  • Re: Evento Before Update Casella di riepilogo

    
    Private Sub casellaRicerca_BeforeUpdate(Cancel As Integer)
    If (Me.CompanyName.Value & "" = "") Then
        If (Me.ShopName.Value & "" = "") Then
            MsgBox ("Company or Shop Name must be filled!!")
    	
    	Me.casellaRicerca.Undo
            
            Cancel = True
        End If
    End If
    End Sub
    
    Se ho capito il problema ...
  • Re: Evento Before Update Casella di riepilogo

    Esatto,
    pensavo di averlo gia provato quel comando pero' hai ragione funziona.
    Thanx
  • Re: Evento Before Update Casella di riepilogo

    Come non detto, questa mattina ho provato su un altro pc e non funziona. Ieri sul mio portatile andava.

    faccio un esempio:
    -Valore casella di ricerca 10
    -clicco sulla casella e imposto come valore 9
    -mi viene fuori la msgbox che ho impostato
    -l'evento after update non viene eseguito (come è giusto che sia)
    -il valore visualizzato nella casella di ricerca è 9.
    Io vorrei che nella casella di ricerca fosse visualizzato il 10 che c'era in precedenza o che venisse cancellato il valore.
  • Re: Evento Before Update Casella di riepilogo

    fabionik2004 ha scritto:


    Ciao a tutti,
    ho una casella di riepilogo che uso per ricercare record in una tabella.
    Adesso vorrei che quando provo ad utilizzare la casella di riepilogo, se due campi richiesti sono vuoti, questa non mi consenta di spostarmi in altri record.

    questo codice sembra funzionare, pero' vorrei anche che il valore che ho cercato all'interno edlla casella di riepilogo rimanga tale.

    Cioè se la casella diriepilogo ha valore 10 ed io cerco il valore 9, il codice mi da la msgbox correttamente e non fa nessuna ricerca, pero' vorrei che il valore rimanesse 10 e non cambiasse su 9
    Private Sub casellaRicerca_BeforeUpdate(Cancel As Integer)
    If (Me.CompanyName.Value & "" = "") Then
    If (Me.ShopName.Value & "" = "") Then
    MsgBox ("Company or Shop Name must be filled!!")
    Cancel = True
    End If
    End If
    End Sub
    Qualche cosa che hai detto non mi è comprensibile...!
    La Casella di Riepilogo chiamata [casellaRicerca] viene caricata con dei dati da una Tabella, fin quì OK.

    Quello che fai invece con la Casella di Riepilogo non mi pare abbia nulla a che fare con lo spostamento su Altri Record... perchè su BeforeUpdate non vedo CODICE inerente allo spostamento a prescindere, quanto semplicemente alla Validazione delle altre 2 TextBox...

    Quindi se le 2 TextBox sono VUOTE non fa nulla, ma non fa nulla anche se sono piene... se non scrivi il codice per lo spostamento... che non hai scritto.
  • Re: Evento Before Update Casella di riepilogo

    Ciao, il codice non l'avevo scritto perchè si trova nell'evento afterupdate, non c'entra con beforeupdate o sbaglio?
    Comunque after update ho questo
    Private Sub casellaRicerca_AfterUpdate()
    '
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Cod] = " & str(Nz(Me![casellaRicerca], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Form_NewContract.Refresh
    End Sub
  • Re: Evento Before Update Casella di riepilogo

    Certo hai ragione, forzando il CANCEL l'afer Update non viene eseguito... quindi deve rimanere nel Record attuale.
    Da quanto dici al 1° 3D vuoi che solo se entrambi sono Vuoti/Nulli non si generi l'afterUpdate...?
    Io semplificherei così:
    Private Sub casellaRicerca_BeforeUpdate(Cancel As Integer)
        If LEN(Me.CompanyName.Value & Me.ShopName.Value & vbNullstring)=0 Then
              MsgBox ("Company or Shop Name must be filled!!")
             Cancel = True
        End If
    End Sub
    Se quindi basta che uno dei 2 sia compilato... dovrebbe andare.
  • Re: Evento Before Update Casella di riepilogo

    Ciao, esatto la mia richiesta è quella.
    Ho provato il tuo codice, ma una volta che compare la msgbox e do l'ok non posso piu cliccare in nessun punto della maschera perchè miricompare la msg box.
  • Re: Evento Before Update Casella di riepilogo

    Scusa manca l'undo sulla Combo
    
    Me.casellaRicerca.Undo
  • Re: Evento Before Update Casella di riepilogo

    Ok adesso è tutto come mi aspettavo. La casella ricerca ritorna al valore che aveva in precedenza se tutti e due i campi sono vuoti.
    Thanx
Devi accedere o registrarti per scrivere nel forum
9 risposte