Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Auf Globale Variablen/Eigenschaften zugreifen
zurück: Befehlsreferenz Access 2003 <-> 2007 weiter: Excel verknuepft mit Access Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Willi Wipp
Moderator


Verfasst am:
18. Jun 2004, 11:23
Rufname:
Wohnort: Raum Wiesbaden

Auf Globale Variablen/Eigenschaften zugreifen - Auf Globale Variablen/Eigenschaften zugreifen

Nach oben
       

Hi Leute,

um zum Beispiel in Abfragen, etc. auf globale Variablen, Eigenschaften, etc. zugreifen zu koennen,
kann man eine Globale Funktion (in einem Modul, nicht Berichts-oder Formular-Modul) anlegen.
Ich haben hier ein Basis-Beispiel erstellt, das man nach Belieben erweitern kann.
Die Idee entstammt einem Beitrag von Tania: Globale Variable in Abfragen
Code:
Option Compare Database
Option Explicit

Public Const gclKonstante   As Long = 100
Public gsVariable           As String

Public Function FnvGetValue(sVariable As String) As Variant
On Error GoTo FnvGetValue_Error
    Select Case sVariable
      Case "gclKonstante"                 'Beispiel für eine Globale Konstante
        FnvGetValue = gclKonstante&
      Case "gsVariable"                    'Beispiel für eine Globale Variable
        FnvGetValue = gsVariable$
      Case "CurrentProject.Path"                 'Pfad der Aktuellen Datenbank
        FnvGetValue = CurrentProject.Path
      Case "Screen.PreviousControl"          'Wert des letzten Steuerelementes
       FnvGetValue = Screen.PreviousControl
      Case "Screen.PreviousControl.Name"     'Name des letzten Steuerelementes
       FnvGetValue = Screen.PreviousControl.Name
    End Select
FnvGetValue_Exit:
    Exit Function
FnvGetValue_Error:
    FnvGetValue = Null                                 'Oder auch "Fehler" ...
    Resume FnvGetValue_Exit
End Function

Ein Beispiel fuer den Einsatz:
Ein Formular mit der Datenherkunft (RecordSource) DeineTabelle.
Die Steuerelemente auf dem Formular haben den gleichen Namen wie die Felder in DeineTabelle.
Auf dem Formular befindet sich eine Befehlsschaltflaeche z.B. BtnFilter.
Beim Ereignis Beim Klicken (Click) von BtnFilter ist folgendes hinterlegt
Code:
Private Sub BtnFilter_Click()
    Me.RecordSource = "DeineAbfrage"
End Sub

Der SQL-Code fuer die Abfrage DeineAbfrage koennte dann z.B. so aussehen
Code:
SELECT *
FROM   DeineTabelle
WHERE  [DeinFeld] Like FnvGetValue("Screen.PreviousControl") & "*"

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)


Zuletzt bearbeitet von Willi Wipp am 06. Feb 2006, 13:49, insgesamt 4-mal bearbeitet
lothi
c#, .Net


Verfasst am:
24. Jun 2004, 11:46
Rufname:
Wohnort: Birgisch


AW: Auf Globale Variablen/Eigenschaften zugreifen - AW: Auf Globale Variablen/Eigenschaften zugreifen

Nach oben
       

Hallo Willi

Guter Tip Idea

Lässt sich natürlich beliebig erweitern die Funktion. Wink

_________________
Gruss Lothi, der Bastler
Feedback ist die beste Möglichkeit mir zu sagen ob die Antwort geholfen hat!
AC2002, WinXP, Office XP
Willi Wipp
Moderator


Verfasst am:
23. Nov 2004, 12:51
Rufname:
Wohnort: Raum Wiesbaden

Re: Auf Globale Variablen/Eigenschaften zugreifen - Re: Auf Globale Variablen/Eigenschaften zugreifen

Nach oben
       

Nachfragen zum Thema bitte hier Auf Globale Variablen/Eigenschaften zugreifen Nachgefragt stellen.
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
MAPWARE
Access Profi(l)neurotiker


Verfasst am:
03. Apr 2008, 16:51
Rufname:
Wohnort: Hannover


Globale Variablen mal anders - Speichern von Eigenschaften - Globale Variablen mal anders - Speichern von Eigenschaften

Nach oben
       Version: Office 2k (2000)

Hallo,

ich habe durch viele Posts mitbekommen, dass Leute Schwierigkeiten haben, in Abfragen auf Felder von Formularen zuzugreifen oder das Programmcode nicht variablel genug ist, weil zum Beispiel Pfadeinstellungen gespeichert werden müssen, oder das benutzerbezogene Einstellungen aufgehoben werden sollen oder das das Datum der letzten Anmeldung gespeichert werden muss usw. usw.

Gerne kommt dann der Vorschlag globale Variablen in VBA einzusetzen, weil man die ja in allen Module sehen kann

Leider ist das nicht wirklich eine gute Lösung wie ich finde, vor allem, weil bei unbehandelten Fehlern im VBA Code ALLE globalen Variablen neu initialisiert werden und danach leer sind.

Ich habe das für meine eigenen Projekte schon länger anders gelöst, indem ich alle Einstellungen (egal welcher Datentyp) in einer zentralen Tabelle des Frontends speichere. (Im Frontend deshalb, weil ich eine simple Möglichkeit haben wollte, das pro User zu speichern)

Ich habe euch eine kleine Beispieldatenbank angehängt, die ziemlich viele Möglichkeiten der Anwendung zusammenfasst.

Witzigerweise ergab sich dabei eine Möglichkeit ohne eine einzige Zeile VBA Standardwerte beim Öffnen eines Formulars auszulesen, und die vom Benutzer eingebenenen Daten als neuen Standardwert fürs nächste Mal zurückzuschreiben, indem man die Gültigkeitsregel von Access benutzt.

Wer mag kann ja mal reinschauen.

_________________
Grüße
Marcus

Wer Controls nicht sinnvoll benennt, wird es später bereuen.



Properties.zip
 Beschreibung:
Globale Variablen in Tabellenform

Public Function GetProperty(vProp As String) As Variant

Public Function SetProperty(vProp As String, vValue As Variant) As Boolean

Download
 Dateiname:  Properties.zip
 Dateigröße:  28.15 KB
 Heruntergeladen:  1944 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Variablen in VBA SQL-Abfragen nutzen 5 Gast 9368 28. Jul 2012, 01:23
Beaker s.a. Variablen in VBA SQL-Abfragen nutzen
Keine neuen Beiträge Access Tabellen & Abfragen: Spalte auf andere Spalte zugreifen 2 bmwGTR 202 13. Jul 2011, 13:24
Gast Spalte auf andere Spalte zugreifen
Keine neuen Beiträge Access Tabellen & Abfragen: Preisermittlung mit mehreren Variablen 2 PCDummy 191 11. Mai 2011, 09:41
pc dummy Preisermittlung mit mehreren Variablen
Keine neuen Beiträge Access Tabellen & Abfragen: Query in Excel: 2 Parameter die auf Zellen zugreifen 3 Mnemonic 1416 20. Sep 2010, 19:03
Gast Query in Excel: 2 Parameter die auf Zellen zugreifen
Keine neuen Beiträge Access Tabellen & Abfragen: Überschreiben sich Variablen bei gleichzeitigen Nutzern? 2 tiger17 290 03. Feb 2010, 13:51
trekking Überschreiben sich Variablen bei gleichzeitigen Nutzern?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage erstellen und Eigenschaften von Werten auflisten 2 selltheelm 500 30. Jul 2009, 11:56
selltheelm Abfrage erstellen und Eigenschaften von Werten auflisten
Keine neuen Beiträge Access Tabellen & Abfragen: Max-Wert aus mehreren Variablen 7 bluemania 1928 08. Jun 2009, 16:15
bluemania Max-Wert aus mehreren Variablen
Keine neuen Beiträge Access Tabellen & Abfragen: Auf zweiten Wert eines Kombinationsfelds zugreifen 11 Michael Barth 303 22. Mai 2009, 09:36
Gast Auf zweiten Wert eines Kombinationsfelds zugreifen
Keine neuen Beiträge Access Tabellen & Abfragen: VBA bei (Union)Abfrage mit Variablen Kriterium 1 PatrickB 494 14. Mai 2009, 11:33
Gast VBA bei (Union)Abfrage mit Variablen Kriterium
Keine neuen Beiträge Access Tabellen & Abfragen: Auf x. Spalte in Kombifeld zugreifen 3 Jottwd 496 28. März 2009, 18:07
Willi Wipp Auf x. Spalte in Kombifeld zugreifen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in csv exportieren mit variablen Dateinamen 2 hikx76 2929 15. Okt 2008, 11:47
hikx76 Abfrage in csv exportieren mit variablen Dateinamen
Keine neuen Beiträge Access Tabellen & Abfragen: Auf Abfrage zugreifen 2 Gastuser12 303 14. Okt 2008, 20:25
Gast Auf Abfrage zugreifen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA