Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 9 van 9

Onderwerp: TempVar declareren

  1. #1
    Senior Member
    Geregistreerd
    2 maart 2018
    Vraag is opgelost

    TempVar declareren

    Ik gebruik de instructie TempVar. Op zich werkt deze functie goed. Nu declareer ik eenmaal de Variabele met VAR (Dim XXX As Var). Als ik de variabele waarde in verschillende modulen en procedures destilleer (YYY= TempVars![sVariabele], dan werkt dat op zich, maar vraag mij af: "Moet ik de Var declareren als Private Statement of als Public Statement". Public zou mogelijk beter zijn omdat dezelfde variabele/VAR in de verschillende modulen en procedures wordt gebruikt. Ik zou dan bovenaan de module kunnen declareren: Public XXX As Var. Is dit de juiste methode en noodzakelijk?

  2. #2
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Quote Origineel gepost door KPTPTT Bekijk Bericht
    "Moet ik de Var declareren als Private Statement of als Public Statement".
    Simpel antwoord: niet . TempVars declareer je niet. Je voegt ze toe met TempVars.Add “naam” “waarde” en dan zijn ze klaar.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  3. #3
    Senior Member
    Geregistreerd
    2 maart 2018
    Dank. Ik heb aangegeven dat ik TempVars al gebruik, dus gebruik ik de juiste instructies. Er moet nmi. voor het gebruik van "TempVars" worden gedeclareerd. Natuurlijk heb ik TempVars.Add etc. gebruikt maar de vraag gaat over de declaratie daar van. Volgens je antwoord hoef ik niet te declareren en geen "Public XXX As Var" of "Dim XXX As Var " toe te passen. Declaratie weglaten? Indien wel, wat is dan het beste in mijn geval, "Dim" of "Public".

  4. #4
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Quote Origineel gepost door KPTPTT Bekijk Bericht
    Dank. Ik heb aangegeven dat ik TempVars al gebruik, dus gebruik ik de juiste instructies. Er moet nmi. voor het gebruik van "TempVars" worden gedeclareerd.
    Nee, dat zie je fout.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  5. #5
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Dit is al genoeg om er mee te werken:
    Code:
    Sub testje()
        
        Application.TempVars.Add "varUser", Environ("UserName")
        MsgBox TempVars("varUser")
    
    End Sub
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  6. #6
    Senior Member
    Geregistreerd
    2 maart 2018
    Ik hoef dus niet te declareren. Dit is in tegenstelling met een eerdere vraag van mij op 21-2-2020 23:42 item #2 waarbij je een uitgebreide uitleg geef over TempVar en de declaratie daarvan.
    TempVars zijn, mits correct gebruikt, heel krachtig. Maar dat goede gebruik, dat kan dus lastig zijn . Wat is dan de juiste werkwijze?
    1. Declareer de TempVars die je nodig hebt één keer. Zelf doe ik dat op het startformulier waarmee ik een db opstart. Kan ik ze ook niet vergeten.
    2. Declareer ze dus nooit daarna nóg een keer, want dan heb je niks meer.
    3. Gebruik, als je een TempVar declareert, de enkelvoudige variant. Het heeft doorgaans weinig zin om aparte collecties aan te maken.
    4. Gooi TempVars niet weg.
    5. TempVars houden hun waarde, totdat je er iets nieuws in zet, of ze leeg maakt.
    6. Een TempVar kun je vullen door hem aan te maken, of door er een nieuwe waarde aan toe te kennen.
    7. Als een TempVar al bestaat, kun je hem gewoon ‘opnieuw aanmaken’ als je een andere waarde wilt toewijzen. Je overschrijft dan de eerdere waarde.
    Je tweede antwoord begrijp ik niet.

  7. #7
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Het 'declareren' is niet meer dan dit: Application.TempVars.Add "varUser", ""). En dát is dus wat ik doe bij het vastleggen op een startformulier. Ik leg ze vast met de juiste namen, en hou de inhoud leeg. Daarna kun je ze naar believen vullen met wat je maar wilt.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  8. #8
    Senior Member
    Geregistreerd
    2 maart 2018
    Anders dan dat je hebt uitgelegd in item #7, daar gaf je Dim op. Ik heb begrepen dat je TempVar niet hoeft de declareren en direct de instructie kan toepassen, TemVars zijn Global en dus eenmaal hoeft te declareren. Ik denk dat TempVar Add beter is dan Dim omdat je de variabele direct daarmee aan het eerste reset (leeg maakt). Waarom staat er Application voor.? Moet ik dat bij iedere toewijzing van de waarde aan de variabele van de TempVar doen? Ik ga het testen, dank.
    Laatst aangepast door KPTPTT : 1 juli 2020 om 20:28

  9. #9
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    TempVars vallen in de Application collectie, vandaar de extra verwijzing. Het werkt ook zonder.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren