Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

[Access] Calcolo data sulla base di valori di una combobox e di un campo data

  1. #1
    Piola non è in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Prima di tutto un sorrisone di saluto e un ringrazimento per l'impegno che mettete in questa community!
    E' la prima volta che mi decido a scrivere per chiedere aiuto e lo faccio dopo che la, solita, tecnica del "cerca, studia, cerca, studia, prova, prova" non ha dato i risultati sperati.
    Mi auguro di non replicare qualche thread esistente (ma non mi sembra ce ne siano, altrimenti avrei già trovato la risposta) e, se così fosse, me ne scuso in anticipo: a volte non troviamo le risposte che ci occorrono semplicemente perchè non poniamo la giusta domanda.

    Andiamo al dunque:
    ho una tabella che contiene diversi campi di informazione su una tessera sanitaria, tra gli altri si trova una combobox (tiptess) con quattro valori (Ssn, Stp, Eni, Altro), un campo data di rilascio (datariltess) e un campo data di scadenza (datascadtess). L'interazione che vorrei creare è questa: quando viene selezionato il campo Stp oppure Eni la data di scadenza viene calcolata automaticamente dopo 6 mesi dalla data di rilascio; nei casi Ssn o Altro la data di scadenza verrà inserita manualmente dall'utente.

    Ho creato una routine (senza considerare il valore immesso nella combobox), che funziona perfettamente:

    Private Sub datariltess_AfterUpdate()
    Me![datascadtess] = DateAdd("m", 6, [datariltess])
    End Sub

    Il problema, ovviamente, lo riscontro nel momento in cui provo a leggere la combobox.
    Pensavo di inserire un If Then, nella routine datariltess_afterupdate in questo modo:

    If Me.tiptess.Value = "Stp" Then
    Me![datascadtess] = DateAdd("m", 6, [datariltess])
    End If

    Non capisco se il non funzionamento dipenda dall'evento a cui è associata la routine, dalla sintassi o dall'impostazione tutta! :-)

    Spero che qualcuno possa aiutarmi!

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Post
    16,800
    Like Inviati  
    0
    Like Ricevuti  
    23
    Non si capisce cosa non vada da quello che scrivi...!
    Ottieni un'errore...?
    Il campo [datariltess] è valorizzato o no...?
    Il codice deve girare su AfterUpdate della Combo...!
    Private Sub tiptess_AfterUpdate()
       Select Case Me!tiptess.Value
             Case Is="Stp"
                   If  IsDate(Me!datariltess) Then  Me![datascadtess] = DateAdd("m", 6, [datariltess])
             Case Else
                   ' Eventuali altre condizioni.
       End Select 
    End Sub
    
    ℹ️ Leggi di più su @Alex ...

  3. #3
    Piola non è in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Innanzitutto grazie per la risposta, @Alex.
    Non ottengo errori, non ottengo niente dopo la selezione dalla combo e l'inserimento del valore in datariltess, come se l'istruzione non esistesse! Questo sia che il codice giri su AfterUpdate della Combo che su quello della data di rilascio tessera (io in realtà l'avevo messo qui).
    Preferirei mille volte un errore, almeno con quello ti scontri frontalmente, così invece non capisco assolutamente cosa lo turbi!

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Post
    16,800
    Like Inviati  
    0
    Like Ricevuti  
    23
    Ho il sospetto che tu abbia la sicurezza di Access settata alta e non vengono eseguite le Macro e le Routine...
    Verifica dalle impostazioni.
    ℹ️ Leggi di più su @Alex ...

  5. #5
    Piola non è in linea Novello
    Post
    3
    Like Inviati  
    0
    Like Ricevuti  
    0
    Purtroppo non è così, tant'è che le altri macro/routine/etc le esegue (oddio, tranne un problema su una join, ma questa è un'altra storia)... proverò ancora: devo scovare il problema (in genere trattasi di errore di "distrazione", come avevi ipotizzato tu con il suggerimento sulla sicurezza), anche se sto finendo le idee su dove cercarlo!
    Se ti venissero in mente altri punti in cui potrebbe essere la falla, saresti così gentile da dirmelo? Quattro occhi e due cervelli sono meglio di due e uno!
    Grazie ancora

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Filtrare combobox in base a data
    Da SILVIO nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 25-02-2018, 20:01
  2. combobox e filtro per data sulla stessa tabella
    Da Sarri nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 05-02-2017, 03:35
  3. Aggiornare un campo in base a data
    Da CESABAS nel forum Microsoft Access
    Risposte: 6
    Ultimo Post: 13-11-2014, 09:09
  4. Creare maschera che sulla base di una data mi apra altri dati
    Da Cherubinapan nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 07-04-2014, 13:20
  5. confrontare un campo di un data base
    Da leoneweb nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 22-08-2005, 11:35