+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Verifica del valore inserito rispetto al valore precedente.

  1. #1
    Buona sera a Tutti.

    Vorrei chiedere se esiste la possibilità di verificare se il valore inserito in una TextBox è;
    - Minore
    - Maggiore
    - Uguale
    al valore precedente.

    Voglio dire, ho due TextBox
    - Input
    - Input_precedente

    La verifica va eseguita sul valore inserito nella TextBox [Input]; il valore deve essere sempre maggiore o uguale al valore precedentemente inserito.

    Attualmente utilizzo due eventi:
    Option Explicit
    Public Vlr As Double
    
    Private Sub Input_GotFocus()
        Vlr = [Input]
    End Sub
    
    Private Sub Input_AfterUpdate()
        If [Input] > Vlr Then
            [Input_precedente] = Vlr
                End
        End If
        
        If [Input] < Vlr Then
        MsgBox "Valore precedente: " & Vlr & Chr(10) & Chr(10) _
        & "Attenzione! il Valore " & [Input] _
        & Chr(10) _
        & "non può essere inferiore al valore precedente."
        [Input] = Vlr
            End
        End If
        
        If [Input] = Vlr Then
        MsgBox "Valore precedente: " & Vlr & Chr(10) & Chr(10) _
        & "Attenzione! il Valore " & [Input] & Chr(10) _
        & "è uguale al valore precedente."
            End
        End If
    End Sub
    
    La procedura funziona correttamente ma mi chiedo se a Vostro parere esiste la possibilità di utilizzare una procedura più professionale.

    Grazie dell'attenzione che potrete dedicarmi.

    Buon fine settimana.

    Giuseppe.

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Cosa significa "valore precedente" per te...?
    Spiega in che modo ed in che momento si valorizza il valore definito come precedente.
    Se è relativo al Record precedente o se ad un'immissione precedente non associata.
    Non si comprende proprio lo scenario.
    ℹ️ Leggi di più su @Alex ...

  3. #3
    OsvaldoLaviosa non è in linea Topo di biblioteca
    Quote Originariamente inviato da @Alex
    Cosa significa "valore precedente" per te...?
    Spiega in che modo ed in che momento si valorizza il valore definito come precedente.
    Se è relativo al Record precedente o se ad un'immissione precedente non associata.
    Non si comprende proprio lo scenario.
    Anche per me non è chiara la descrizione. Secondo me non si riferisce al valore "record precedente". E in ogni caso non comprendo il senso di una operazione del genere.
    A cosa serve aver messo in piedi quelle due textbox e i codici che hai mostrato? Cosa devi fare? Eventualmente spiega con un esempio concreto.
    ℹ️ Leggi di più su OsvaldoLaviosa ...

  4. #4
    Buona giornata a Tutti e grazie delle risposte.

    Cerco di spiegarmi più compiutamente.

    Al momento utilizzerei la maschera solo come controllo.
    Supponiamo che quotidianamente nella TextBox [Input] inserisco il valore al contatore di un determinato consumo di energia elettrica.
    Ovviamente questo valore può solo essere maggiore o uguale al valore inserito il giorno precedente.
    Nel caso in cui insersco un valore minore rispetto a quello registrato il giorno precedente viene visualizzato il messaggio:
    - Attenzione! il Valore " & [Input] "non può essere inferiore al valore precedente."


    A disposizione.

    Giuseppe

  5. #5
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Giuseppe non è Excel hai sotto un database...?
    Il dato va memorizzato in una tabella...?
    La maschera da quanto comprendo non è associata, ma secondo me non è così, quindi da dove recuperi il dato precedente...?
    Ho pure il timore tu stia usando una maschera continua... e lo desumo dall'uso dell'evento GOTFOCUS in cui memorizza il valore precedente cosa a mio avviso errata... supponi di andare al 1° e saltare poi avanti di 5... sarebbe corretto...?

    Insomma devi scusarmi ma non ci capisco molto nella logica che descrivi.
    ℹ️ Leggi di più su @Alex ...

  6. #6
    Buona giornata @Alex

    Giuseppe non è Excel hai sotto un database...?
    In EXCEL sarebbe tutto eseguito con un solo evento.

    Il dato va memorizzato in una tabella...?
    Questo sarebbe il passo successivo.
    In prospettiva pensavo di duplicare il Record e agire nella TextBox [Input].

    Giuseppe

  7. #7
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Giuseppe stai affrontando la cosa in modo non adatto.
    Se pensi di memorizzare i dati l'approccio Excel non va bene e nemmeno il codice che hai postato.
    In se il codice andrebbe bene io lo scriverei più pulito ma funziona... il problema è il recupero del dato che tu indichi come calore precedente che va a cambiare il metodo... e francamente non ho ancora capito cosa vuoi fare, ma se questo è solo unnoassaggio... parliamone quando farai quello che richiede un approccio più da database...?
    ℹ️ Leggi di più su @Alex ...

  8. #8
    OsvaldoLaviosa non è in linea Topo di biblioteca
    GiuseppeMN: Forse vuoi gestire un input su "maschera non associata" per "non corrompere direttamente" i dati della tabella sottostante. Quindi fai un input di prova e riprova, dove puoi sbagliare quante volte vuoi, poi, quando sei sicuro-sicuro del dato da inputare, allora decidi di assegnarlo. In passato avevo letto di qualcuno che avrebbe messo in atto questa strategia (discutibile). È così che stanno le cose? Se sì, però occorre che tu contestualizzi tutto a più ampio respiro, fornendo nomi propri di tutto (maschera, tabella, campi). Poi, ripeto, se ci racconti tutto con un esempio pratico, capiamo meglio cosa vuoi fare.
    ℹ️ Leggi di più su OsvaldoLaviosa ...

  9. #9
    L'avatar di Max.Riservo
    Max.Riservo non è in linea Scribacchino
    Quote Originariamente inviato da GiuseppeMN Visualizza il messaggio
    Supponiamo che quotidianamente nella TextBox [Input] inserisco il valore al contatore di un determinato consumo di energia elettrica.
    Ovviamente questo valore può solo essere maggiore o uguale al valore inserito il giorno precedente.
    Quanto scrivi è vero fino a quando non cambi il contatore. Evento raro ovvio ... ma evento che si verifica.

    Partendo dal presupposto che tu abbia una tabella composta da :
    - DataRegistrazione
    - ConsumoRilevato
    nella tua maschera proponi e memorizzi il valore dell'ultimo record presente in tabella, recuperato per esempio tramite max(DataRegistrazione), e verifichi che il valore inserito non sia inferiore a quello memorizzato.

  10. #10
    bertelli.davide non è in linea Scolaretto
    Se la textbox è associata ad una tabella e fino a che non aggiorni il record, puoi usare la proprietà oldvalue per il confronto.
    Dopo aver aggiornato il record la oldvalue diventa la value della textbox.

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. spunta automatica a secondo valore inserito
    Da Sarri nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 03-10-2017, 20:55
  2. Risposte: 7
    Ultimo Post: 31-08-2016, 16:00
  3. Risposte: 1
    Ultimo Post: 30-08-2016, 18:21
  4. valore precedente
    Da mobile75 nel forum Microsoft Access
    Risposte: 6
    Ultimo Post: 04-07-2012, 21:33
  5. Risposte: 4
    Ultimo Post: 19-05-2010, 14:48