Comportamento tempvars

di il
6 risposte

Comportamento tempvars

Sto cercando di capire il funzionamento di TempVars per usufruire di variabili globali. La documentazione Microsoft mi sembra quantomeno confusa, ma mi sembrava di cominciare  a capirci qualcosa, Può essere che mi sfugga qualcosa di ovvio, ma  questo codice:

sub test()
dim DateFirst as TempVars
TempVars!DateFirst = “2022/08/31”
…………..
end sub

fallisce con runtime error 5 , “invalid procedure call or argument”  nella riga di assegnazione. E non riesco a trovare il nesso, per correggere. Il codice è talmente semplice che per forza mi sfugge qualcosa di banale, ma dopo due giorni di rimuginamento mi aspetto che questo sia il classico esempio di errore talmente ovvio che chiunque (tranne me) lo vede subito….

6 Risposte

  • Re: Comportamento tempvars

    Stai usando un modo sbagliato, dici di aver letto la documentazione ma dichiari le TempVars in modo errato

    leggi meglio questo ad esempio 

    https://answers.microsoft.com/it-it/msoffice/forum/all/le-tempvars-e-le-variabili-globali-multi-sessione/93c3a560-be46-46e4-9094-74e508b14246 

  • Re: Comportamento tempvars

    Come ti ha suggerito Muttpley l'oggetto tempVars è di fatto una collection…

    Io ho preferito crearmi una gestione personalizzata delle VARIABILI AMBIENTE, quelle attivate dalla sessione.

    Il principio è quello della Collection, ma un poco più flessibile ed utile, almeno a mio avviso.

    Trovi un esempio quì:

    https://1drv.ms/u/s!Are2sGzrs4WChnhd1GL9hoGago0i?e=WN5ktT

  • Re: Comportamento tempvars

    Grazie mille, ma qui c'è qualcosa che non quadra. Come dicevo, ci ho rimuginato già un po', e nell'articolo citato si usa un metodo diverso per l'assegnazione. Lo avevo già provato, ed ecco i risultati

    dim DateFirst as TempVars
    TempVars.Add (DateFirst, “2022/08/31”)

    Compile error: “=” expected

    dim Datefirst as TempVars
    TempVars.Add Datefirst, “2022/08/31”

    compile error: parm not optional (DateFirst è evidenziato)

    Visto che nell'articolo il Dim non c'è, ho provato a toglierlo:

    TempVars.Add  DateFirst, “2022/08/31”

    torniamo a compile error 5, invalid procedure call or argument.

  • Re: Comportamento tempvars

    DateFirst tra viegolette

  • Re: Comportamento tempvars

    Non so cosa dici bene… ho fatto questa prova banale:

    Function TestTVAR()
        TempVars.Add "DateFirst", #8/31/2022#
        Debug.Print TempVars("DateFirst")
    End Function

    Nella Finestra immediata leggo:

    ? TestTVAR
    31/08/2022 

    Funziona tutto senza errori, ovviamente essendo una Data hoi lasciato il Formato Data e non Stringa… ma è un dettaglio.

  • Re: Comportamento tempvars

    Non ci pensate, avete a che fare con uno stordito e rimbambito. Chiedo scusa. Lavoro essenzialmente con access, ma stavolta stavo lavorando su excel… e excel non ha le tempvars. Chiedo ancora scusa, l'età gioca brutti scherzi.

Devi accedere o registrarti per scrivere nel forum
6 risposte