Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    [access] - funzione calcolo età.problema nuovo record

    Buona domenica a tutti.
    Tanto per cambiare ho un problema con access.
    All'interno di una maschera mi servirebbe visualizzare l'età di una persona espressa in anni,mesi e giorni.
    Ho trovato una funzione che facesse al caso mio su sitocomune.com, sezione moduli 5.15. (non posto il link causa frame ).
    Il problema è questo: se creo nella maschera una casella di testo (che chiamo etas) cui associo come origine controllo
    = eta(data_nascita) dove eta è il nome della funzione in questione, per i record già esistenti viene correttamente mostrata l'età ma ovviamente se vado a inserire un nuovo record mi viene segnalato l'errore (#errore) fino a quando non inserisco la data di nascita.


    Ho provato a scrivere questo codicino
    codice:
    If Not Me!data_nascita = "" Or Not IsNull(Me!data_nascita) Then
    Me!etas = eta(data_nascita)
    End If
    associandolo a tutti gli eventi possibili ma con scarsi risultati. Tra le varie prove se scrivo

    codice:
    Private Sub Form_Current()
    If Not Me!data_nascita = "" Or Not IsNull(Me!data_nascita) Then
    Me!etas = eta(data_nascita)
    End If
    End Sub
    quando clicco sui pulsanti di navigazione record e arrivo alla maschera di inserimento nuovo record, la casella anzichè essere vuota come mi aspetterei, mi mostra il calcolo del record precedente,cioè quello con l'id più alto. Come risolvo? Confido come sempre in voi. Grazie.

  2. #2

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    up.

  4. #4
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    A parte che io dalla versione 1.0a di Access che non uso più le maschere collegate direttamente alle tabelle... Questo è un problema che deriva dall'usare i pulsanti predefiniti per scorrere tra i record. Secondo me infatti dovresti crearti tu nella maschera dei pulsanti con cui scorrere i record. In questo modo, ogni volta che premi questi pulsanti, potresti aggiornare il controllo etas, dopo avere verificato che nel campo eta del record appena caricato ci sia un valore effettivamente da calcolare. In questo modo risolvi sia il problema del nuovo record sia il problema di avere eventualmente un record senza data.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Grazie per la risposta. Vedo cosa riesco a fare. Dovessi avere problemi (cosa molto probabile ) posterò.

  6. #6
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Originariamente inviato da nicola75ss
    Grazie per la risposta. Vedo cosa riesco a fare. Dovessi avere problemi (cosa molto probabile ) posterò.
    Visto quello che scrivi, con quello che sai fare penso che non avrai troppi problemi: considera che i pulsanti per la navigazione tra i record puoi crearli usando le autocomposizioni, poi a questi puoi aggiungere il codice per il ricalcolo del campo etas.

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da longline
    Visto quello che scrivi, con quello che sai fare penso che non avrai troppi problemi: considera che i pulsanti per la navigazione tra i record puoi crearli usando le autocomposizioni, poi a questi puoi aggiungere il codice per il ricalcolo del campo etas.
    Non sono certo ai tuoi livelli, di Misterxxx e company comunque grazie per la fiducia.
    Un pò di basi di access ce le ho solo che non l'avevo mai integrato con vba. E' lì che sto trovando difficoltà. Appena finisco di normalizzare il db mi metto sotto.

  8. #8
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,706

    Re: [access] - funzione calcolo età.problema nuovo record

    Originariamente inviato da nicola75ss
    Ho provato a scrivere questo codicino
    codice:
    If Not Me!data_nascita = "" Or Not IsNull(Me!data_nascita) Then
    Me!etas = eta(data_nascita)
    End If
    associandolo a tutti gli eventi possibili ma con scarsi risultati. Tra le varie prove se scrivo

    codice:
    Private Sub Form_Current()
    If Not Me!data_nascita = "" Or Not IsNull(Me!data_nascita) Then
    Me!etas = eta(data_nascita)
    End If
    End Sub
    quando clicco sui pulsanti di navigazione record e arrivo alla maschera di inserimento nuovo record, la casella anzichè essere vuota come mi aspetterei, mi mostra il calcolo del record precedente,cioè quello con l'id più alto. Come risolvo? Confido come sempre in voi. Grazie.
    Operatori logici combinati con uguaglianze ???
    Sei al limite del paraschizzofrenico !!!!
    Questo:
    Not Me!data_nascita = "" Or Not IsNull(Me!data_nascita)
    non esiste !!!!
    questo:
    Me!data_nascita <> "" Or IsNull(Me!data_nascita)
    esiste !!!!

    cmq, piuttosto, implementa la funzione con IIF (if condizionale), tipo:
    =iif(data_nascita;eta(data_nascita);null)
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    Re: Re: [access] - funzione calcolo età.problema nuovo record

    Originariamente inviato da Misterxxx
    Operatori logici combinati con uguaglianze ???
    Sei al limite del paraschizzofrenico !!!!


    Questo:
    Not Me!data_nascita = "" Or Not IsNull(Me!data_nascita)
    non esiste !!!!
    questo:
    Me!data_nascita <> "" Or IsNull(Me!data_nascita)
    esiste !!!!

    cmq, piuttosto, implementa la funzione con IIF (if condizionale), tipo:
    =iif(data_nascita;eta(data_nascita);null)

    Grazie ancora una volta. Ho usato l'iif nell'origine controllo e ho risolto.
    Ti farò un monumento.

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da longline
    A parte che io dalla versione 1.0a di Access che non uso più le maschere collegate direttamente alle tabelle...
    Ciao. Mi potresti spiegare meglio cosa intendi con questa frase.
    Mi aveva lasciato perplesso sin dalla prima lettura ma non avevo avuto il tempo di soffermarmici.
    Tu come operi? Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.