TKSoft-Online

Manipulation von Control-Properties in Formularen PDF Drucken E-Mail
( 1 Vote )
MS-Access Bsp. DB's - Bsp. Downloads Formulare
  
Sonntag, den 06. Januar 2008 um 01:00 Uhr

 

Problemstellung:

Eine auch oft gestellte Frage: Wie kann ich in einem Zug alle 10 Felder in meinem Suchform leeren
oder alle 15 Checkboxen deaktivieren usw.
Die Lösung bestand dann meistens darin alle Felder einzeln aufzurufen und die Einstellung
vorzunehmen oder eine eigene Funktion zu schreiben.
Deshalb möchte ich hier eine universelle Funktion vorstellen mit des möglich ist mehrere
Eigenschaften zu ändern.
Wie kann ich gleichzeitig für mehrere Controls bestimmte Eigenschaften ändern bzw. prüfen?

Voraussetzungen:

Das Bsp ist unter A97,A00, AXP, A03 lauffähig, unter A07 wurde es nicht getestet.

Funktionsweise:

Die Funktion "tk_Controls_Property" ändert für alle Controls, deren Marke (Tag-Eigenschaft) gesetzt ist, die benannte Eigenschaft.

Nicht auf die Unterformulare selbst anwenden !!!

Folgende Eigenschaften können manipuliert werden mit möglichen Werten:

"Enabled" True(-1)/False(0)
"Locked" True(-1)/False(0)
"Visible" True(-1)/False(0)
"BackStyle" Normal=1, Transparent=0
"FontSize" beliebige Werte von 1 bis 127
"FontBold" Fett=True (-1), Normal=False (0)
"BorderStyle" Transparent=0, Durchgezogen=1, Strichlinien=2
Kurze Strichlinien=3, Punkte=4, Wenige Punkte=5
Strichlinie Punkt=6, Strichlinie Punkt Punkt=7
"SpecialEffect" Flach=0, Erhöht=1, Vertieft=2, Graviert=3, Schattiert=4, Unterstrichen=5
"Value" Null oder beliebiger Wert
"Empty" Kein Wert

Bis auf "Empty" können alle Properties auch auf Controls in Unterformularen angewendet werden.

Desweiteren ist ein Erweiterung des Programmcodes um weitere Eigenschaften möglich.
Controls die eine Eigenschaft nicht besitzen bzw. unterstützen lösen den Fehler 2455 aus,
durch On Error Resume Next, werden diese übersprungen.
Das genaue Listing s. Bsp-DB

Syntax und Argumente:

Public Function tk_Controls_Property(objF As Form, strMarke As String, strProperty As String, Optional varValue As Variant = False)
objF = Name des Forms, also "Me" oder "Forms![frm_Start]![frm_Sub1].Form" für ein UFO
strMarke = die Marke (TAG), z.B: "XY"
strProperty = Name der Eigenschaft z.B. "Locked"
varValue = Wert der Eigenschaft z.B. True, False, Null usw.

Wichtige Hinweise:

1. Zu beachten wäre das keine Controls auf deaktiv, gesperrt oder unsichtbar gesetzt werden können, die den Focus besitzen.
Das würde die Fehler 2164 und 2165 auslösen.
Als Lösung würde sich ein Control anbieten, das eine Größe von 0x0 hat und beim Aufruf der Funktion den Focus erhält.

Dieses Control darf nicht unsichtbar sein.

2. nicht alle Eigenschaftseinstellungen stehen allen Controltypen zur Verfügung, z.B. Hintergrund Transparent für Listenfelder oder Checkboxen usw.
Auch ergeben einige Einstellungen nur in Kombination ein Sinn, z.B. fast alle BorderStyles ergeben nur Sinn mit SpecialEffect=Flach usw.

3. Das Füllen von Controls mit "True"(-1) oder False(0) hat natürlich nur bei Checkboxen Sinn.
Die hier dargestellte Lösung ist nur aus Demonstrationszwecken gewählt.
Bei der Wertübergabe Null für Listen- und Kombinationsfelder wird die dortige Markierung aufgehoben.

4. Dem Argument "Empty" wird kein Wert übergeben

Diese Funktion steht nicht für Unterformulare zur Verfügung

 

Mögliche Erweiterungen:

Es besteht die Möglichkeit die Funktion um weitere Properties zu erweitern.
Denkbar wäre eine Ausweitung auf die Eigenschaften "Backcolor", "Bordercolor", "FontName", "BorderWidth", "FontWeight", "FontItalic", "FontUnderline" und "TextAlign"
Die Funktion müsste, z.B. für die Property "Backcolor" dahin gehend erweitert werden, das die Property in der Select Case-Anweisung gelistet wird:

Case "Enabled", "Locked", "Visible", "BackStyle", "FontSize", "FontBold", "BorderStyle", "SpecialEffect", "Backcolor"

Der Aufruf um z.B. bei allen Controls mit TAG="XYZ" den Hintergrund rot zu färben wäre dann:

tk_Controls_Property Me, "XYZ", "Backcolor", 255

Beispiele zum Aufruf:

Alle Controls mit dem TAG= „XY“ sollen auf unsichtbar gesetzt werden

für HFO
tk_Controls_Property Me, "XY", "Visible", False

für UFO (Name des UFO-Steuerelements im HFO „frm_Sub_OnOff“
tk_Controls_Property Forms![frm_Start]![frm_Sub_OnOff].Form, "XY", "Visible", False


Alle Controls mit dem TAG= „XY“ sollen auf Aktiv gesetzt werden

für HFO
tk_Controls_Property Me, "XY", "Enabled", True

für UFO (Name des UFO-Steuerelements im HFO „frm_Sub_OnOff“
tk_Controls_Property Forms![frm_Start]![frm_Sub_OnOff].Form, "XY", "Visible", True


Bei allen Controls mit dem TAG= „YZ“ soll der Hintergrund auf Transparent gesetzt werden

für HFO
tk_Controls_Property Me, "YZ", "BackStyle", 0

für UFO (Name des UFO-Steuerelements im HFO „frm_Sub_Styles“
tk_Controls_Property Forms![frm_Start]![frm_Sub_Styles].Form, "YZ", 0

Bei allen Controls mit dem TAG= „ZY“ soll der Schriftstil auf „Fett“ gesetzt werden

für HFO
tk_Controls_Property Me, "ZY", "FontBold", True

für UFO (Name des UFO-Steuerelements im HFO „frm_Sub_Fonts“
tk_Controls_Property Forms![frm_Start]![frm_Sub_Fonts].Form, "ZY", "FontBold", True

Bei allen Controls mit dem TAG= „ZY“ soll der Schriftgröße auf „22“ gesetzt werden

für HFO
tk_Controls_Property Me, "ZY", "FontSize", 22

für UFO (Name des UFO-Steuerelements im HFO „frm_Sub_Fonts“
tk_Controls_Property Forms![frm_Start]![frm_Sub_Fonts].Form, "ZY", "FontSize", 22

Bei allen Controls mit dem TAG= „XZ“ soll der Feldinhalt gelöscht werden (Bitte Hinweise Punkt 3, s.o. beachten)

für HFO
tk_Controls_Property Me, "XZ", "Value", Null

für UFO (Name des UFO-Steuerelements im HFO „frm_Sub_Values“
tk_Controls_Property Forms![frm_Start]![frm_Sub_Values].Form, "XZ", "Value", Null

Bei allen Controls mit dem TAG= „XZ“ soll der Feldinhalt auf „Test1“ gesetzt werden (Bitte Hinweise Punkt 3, s.o. beachten)

für HFO
tk_Controls_Property Me, "XZ", "Value", "Test1"

für UFO (Name des UFO-Steuerelements im HFO „frm_Sub_Values“
tk_Controls_Property Forms![frm_Start]![frm_Sub_Values].Form, "XZ", "Value", "Test1"


Bei allen Controls mit dem TAG= „WZ“ soll geprüft werden ob das Control Daten enthält(Bitte Hinweise Punkt 4, s.o. beachten)

für HFO
tk_Controls_Property Me, "WZ", "Empty"
 
 

Download nur für registrierte User

 

Manipulation von Control-Properties in Formularen

Manipulation von Control-Properties in Formularen
für A97-A03 , A07 nicht getestet

Die Zip-Datei enthält ein Version für A97 und eine ab A00
Diese Kategorie erfordert eine Registrierung um Daten downloaden zu können.
Sollten Sie bereits registriert sein, so melden Sie sich bitte an.




Erstellt am
Dateigröße
Downloads
04.01.2008
133.18 KB
2097


Downloads in dieser Kategorie

MS-Access Formulare

MS-Access Formulare

 Seite: 1

 Seite: 2


DatumKlicks
Total2339
Do. 241
Mi. 233
Di. 223
Mo. 211
So. 202
Sa. 193
Fr. 181
Aktualisiert ( Mittwoch, den 19. Oktober 2011 um 12:47 Uhr )
 

Kommentar schreiben


Sicherheitscode
Aktualisieren

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173483 Downloads