Errore #Tipo! in un controllo non gestito

di il
6 risposte

Errore #Tipo! in un controllo non gestito

Seguendo le indicazioni di un tip della Microsoft, per gestire un dato volatile, in questo caso il calcolo dell'età, 

in una maschera di anagrafica ho definito un controllo non gestito nel quale ho inserito una routine che chiama un

modulo composto dalle routine Age e Agemonths; (=Age([Data_nascita]) & " Anni  " & AgeMonths([Data_nascita]) & " Mesi"). 

La soluzione funziona correttamente; eseguendo una Query e caricando il relativo record che contiene la data di nascita, 

nel campo non gestito della Maschera Anagrafica appare l'età della persona.

Il problema si manifesta all'atto del caricamento iniziale della maschera Anagrafica, prima della Query. In questa fase 

iniziale, sembra che Access non riesca ad identificare il Tipo di Dato e nel campo non gestito appare l'errore  #Tipo!. 

Come detto sopra, dopo l'esecuzione della Query, il messaggio di errore #Tipo!  viene sostituito dall'età calcolata dalla routine.

Vorrei chiedere se, in questa situazione, esiste un modo per evitare che Access mostri questo errore .

Grazie

6 Risposte

  • Re: Errore #Tipo! in un controllo non gestito

    Spiega bene cosa intendi quando dici 

    ….

    Il problema si manifesta all'atto del caricamento iniziale della maschera Anagrafica, prima della Query. In questa fase 

    iniziale, sembra che Access non riesca ad identificare il Tipo di Dato e nel campo non gestito appare l'errore  #Tipo!. 

    ….

    Grazie

    Spiega meglio come carichi la query in fase iniziale… suona tanto strana questa affermazione…

  • Re: Errore #Tipo! in un controllo non gestito

    Ci provo illustrando la sequenza delle operazioni:

    1. Caricamento iniziale della maschera anagrafica ; tutti i controlli gestiti sono vuoti ad eccezione del controllo non gestito, quello con la ruotine che ho illustrato sopra, che mostra l'errore #Tipo!
    2. Nella maschera anagrafica ho predisposto un bottone che avvia una query con parametri; spingendo il bottone, in risposta alla query, vengono riempiti tutti i campi della maschera con i dati ed il controllo non gestito, che precedentemente conteneva il messaggio di errore #Tipo!, ora contiene correttamente l'età della persona 
    3. Da questo momento in poi, il messaggio di errore nel controllo non gestito non appare se non ricominciando dallo step 1

    Quello che vorrei è che nello step 1 non apparisse più il messaggio di errore nel campo non gestito.

    Grazie per il supporto, 

    Rob

  • Re: Errore #Tipo! in un controllo non gestito

    16/04/2023 - Rovo ha scritto:


    per gestire un dato volatile, in questo caso il calcolo dell'età, 

    in una maschera di anagrafica ho definito un controllo non gestito nel quale ho inserito una routine che chiama un

    modulo composto dalle routine Age e Agemonths; (=Age([Data_nascita]) & " Anni  " & AgeMonths([Data_nascita]) & " Mesi"). 

    Nel controllo non gestito inserisci direttamente la formula del calcolo dell'età sfruttando il campo Data_nascita e Date(). Io conosco questa
    con il formato inglese:
    =DateDiff("yyyy";[DataNascita];Date())+(Format(Date();"mmdd")<Format([DataNascita];"mmdd"))
    con il formato italiano:
    =DateDiff("aaaa";[DataNascita];Date())+(Format(Date();"mmgg")<Format([DataNascita];"mmgg"))

  • Re: Errore #Tipo! in un controllo non gestito

    Metti un RECALC su LOAD di Maschera oppure se non funziona su timer in questo modo:

    Private Sub Form_Load()
        Me.TimeeInterval=200
    End sub
    
    Private Sub Form_Timer()
        Me.Recalc
        Me.TimwrInterval=0
    End sub

    Avresti tuttavia dovuto effettuare il calcolo su evento Current di maschera invece che assegnarlo alla proprietà Origine Controllo:

    Private Sub Form_Current()
        If not me.NewRecord then Me.NomeControlloEtà=Age(Me![Data_nascita]) & " Anni  " & AgeMonths(Me![Data_nascita]) & " Mesi") 
    End sub

    In questo modo non serviva nulla di più.

  • Re: Errore #Tipo! in un controllo non gestito

    Ringrazio Osvaldo il cui suggerimento mi ha permesso di risolvere il problema del messaggio.

    Buona serata

    Rob

  • Re: Errore #Tipo! in un controllo non gestito

    Grazie anche ad Alex; domani proverò anche il suo suggerimento .

    Buona serata

    Rob

Devi accedere o registrarti per scrivere nel forum
6 risposte