Search  

   

Latest News  

Problemstellung:Wenn man Etiketten drucken will steht man oft vor einigen Problemen.1. Man möchte nur ein paar Etiketten drucken und beim nächsten Druck braucht man wieder   ein neues Blatt weil freie...
   

Latest Forumposts  

  • Keine Beiträge vorhanden
   

Kommentare  

Tut mir leid Hella, ich kann Dir nicht folgen? 13.04.2017 - 14.04.2017 ergibt bei mir 1 13.04.2017 -...
Gast - Hella
Hallo, Berechne wie folgt, ob "zu früh" oder "zu spät" Rückmeldet. Früher sollte auch mit negativer ...
Gast - Hella
Hallo, mit negativen Werten meine ich z.B. -5 Tage (ohne Wochenende) u.ä. Zur Zeit wird nur die 0 au...
Hallo Hella, wie negative Werte? Kannst Du es erläutern was Du machen willst? Gruß Tommy
Gast - Hella
Hallo, ich bräuchte auch negative Werte bei der Anzahl, wie kann man das realisieren? Liebe Grüße He...
   

Counter  

1115632
HeuteHeute117
GesternGestern1114
Diese WocheDiese Woche2363
Dieser MonatDieser Monat23844
GesamtGesamt1115632
Highest 07.12.2017 : 1250
US
UNITED STATES
US

This page uses the IP-to-Country Database provided by WebHosting.Info (http://www.webhosting.info), available from http://ip-to-country.webhosting.info

   

Download Statistik  

Diese Site enthält 187 Downloads in 30 Kategorien. Gesamtdownloads bisher: 234326
   
Free live stats and visitor counter for Joomla, Wordpress, Drupal, Magento and Prestashop
   

Login

   

User Online

Total: 82 Members: 0 Guests: 82
No members online
   

Beiträge

Arbeiten mit TempVars

Bewertung:  / 0
SchwachSuper 
Details

Problemstellung:
Benutzt man globale Variablen kommt es bei unbehandelten Laufzeitfehler zum Verlust des Variableninhaltes.
es ist auf jeden Fall ein Neustart der DB erforderlich im schlimmsten Fall kommt es zu Datenverlusten.
Wie kann ich das umgehen?
Ab Access 2007 gibt es das Objekt TempVars. Diese behalten auch bei
unbehandelten Laufzeitfehlern ihren Inhalt

Voraussetzungen:
Das Bsp ist ab A2007 lauffähig. (Download enthält eine accdb-Datei)

Lösung:
Ich möchte hier für das TempVar-Objekt nur die 4 wichtigsten Methoden aufzeigen.
Public Function NewTempVar(sVarName As String, vTempValue As Variant)
    TempVars.Add sVarName, vTempValue
End Function
Public Function GetTempVarValue(sVarName As String) As Variant
    GetTempVarValue = TempVars(sVarName)
End Function
Public Sub RemoveTempVar(sVarName As String)
    TempVars.Remove (sVarName)
End Sub
Public Sub AllRemoveTempVars()
    TempVars.RemoveAll
End Sub
Die erste Funktion erstellt eine neue Variable und füllt Diese.
z.B. mit dem Pfad der aktuellen DB (Name der Variablen =DB_Path):
NewTempVar "DB_Path", CurrentProject.Path
Ist der Variablenname bereits vorhanden wird der Inhalt einfach mit dem neuen Wert überschrieben. (s. Bsp-DB)
 
Mit der 2. Funktion wird der Inhalt der Variablen abgerufen.
Dim x As String
x = GetTempVarValue("UserName")
Die 3. und 4. Sub ermöglichen entweder eine Variable oder alle Variablen zu löschen.
 
In der Bsp-DB werden 4 Variablen erstellt und gefüllt.
Private Sub Form_Load()
    'Füllen der TempVars
    NewTempVar "UserName", ShowUserName()
    NewTempVar "TempFolder", GetTempFolder()
    NewTempVar "CurrentVersion", GetAccVersAndSP()
    NewTempVar "DB_Path", CurrentProject.Path
End Sub

Ergebnis:
 
tempvar1
Gleichzeitig werden auch 4 globale Variablen mit den den gleichen Werten gefüllt.
Private Sub Form_Load()
    'Füllen der öffentlichen Variablen
    sUser = ShowUserName()
    sTempPath = GetTempFolder()
    sAccVersion = GetAccVersAndSP()
    sDBPath = CurrentProject.Path
End Sub
tempvar3
 
Um eine Übersicht zu behalten können alle Variablen der TempVars-Auflistung angezeigt werden( s. frm_Liste):
Private Sub Form_Load()
    Dim vVar As TempVar
    For Each vVar In TempVars
        Me.lst_TempVars.AddItem vVar.Name & ";" & vVar.Value
    Next vVar
End Sub
tempvar2
Kommen wir nun zum eigentlichen Nutzen des TempVar-Objektes.
Wir lösen nun im Form mit dem Button "Fehler auslösen" einen unbehandelten Laufzeitfehler aus.
tempvar4
Dann öffnen wir mit dem Button "Auflistung aller TempVars" die Liste und siehe da, der Inhalt der Variablen ist weiterhin vorhanden.
Das Gleiche prüfen wir mit den Buttons für die globalen Variablen.
tempvar5
Die sind nun leer.
 
Also ich denke damit dürfte der Vorteil von TempVars ggü. globalen Variablen bewiesen sein.
 
 
Dateien:
Arbeiten mit dem TempVars-Objekt

Arbeiten mit dem TempVars-Objekt
ab A2007

Die Zip-Datei enthält eine Version für A07/10

Datum 25.03.2011 Dateigröße 33.04 KB Download 552
 
 
 
 
 

Einen Kommentar verfassen

Als Gast kommentieren

0 / 300 Zeichen Beschränkung
Dein Text sollte zwischen 10-300 Zeichen lang sein
Nutzungsbedingungen.
  • Keine Kommentare gefunden