Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: cyberchris am Mai 25, 2011, 12:44:43

Titel: Ereignisprozedur per VBA ändern
Beitrag von: cyberchris am Mai 25, 2011, 12:44:43
Hallo,

ich habe in einem Formular beim Anzeigen eine Ereignisprozedur dahinter. Nun möchte ich über eine Checkbox steuern, ob dieses Ereignis ausgeführt wird oder nicht.
Mit dem Befehl:
Forms("FormularXY").OnDeactivate = "[Ereignisprozedur]"
Forms("FormularXY").OnDeactivate = ""

Mit diesen Befehlen kann ich das Ereignis aber nicht aktivieren/deaktivieren.


Danke
gruß cyberchris
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: MzKlMu am Mai 25, 2011, 13:07:03
Hallo,
am einfachsten geht das, wenn in der Prozedur selbst die Checkbox ausgewertet wird:

If Me!Checkbox = True Then Exit Sub 'oder =False
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: cyberchris am Mai 25, 2011, 17:26:29
Hallo,

ja, das habe ich derzeit auch. Nur ist diese Funfktion (siehe unten) nervig, da immer die Seite neu aufgebaut wird und es dadurch zu einem Art Flimmern kommt, wenn ich im Formular klicke. Deshalb möchte ich mit einer Checkbox das Ergeignis an- und abschalten.

PS: Mit dem Ereignis habe ich es hinbekommen die aktive Zeile im Endlosformular zu markieren (über bedingte Formatierung).

gruß cyberchris
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: DF6GL am Mai 25, 2011, 21:26:11
Hallo,

irgendwas versteh ich da wieder mal nicht..


Wenn der Code nicht "beim Anzeigen" immer ausgeführt werden soll, dann steht der wohl in  der falschen Ereignisprozedur
Genausogut könnte der eigentliche Code  nur dann ausgeführt werden, wenn das KK, bzw. eine Schaltfläche   angeklickt wird...


Oder sehe ich das falsch?
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: cyberchris am Mai 26, 2011, 09:04:39
Ein Kollege wollte, dass die aktive Zeile farbig markiert wird. Das habe ich mit bedingter Formatierung gelöst:

In Kurzform:
Form_Current: Me!DeineIDAktiv = Me!IDoWAG
Formularkopfbereich ein Feld: DeineIDAktiv
Bedingten Formatierung im Detailbereich: [IDoWAG]=[DeineIDAktiv]

Nur möchte ich dies ausschalten können, da das nervig ist wg. dem "flimmern".
Wenn ich im Form_Current die Checkbox abfrage, flimmert es trotzdem, deshalb möchte ich die ganze Ereignisprozedure deaktivieren.

Ich hoffe, dass ich es verständlich geschrieben habe.

Gruß cyberchris
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: cyberchris am Mai 30, 2011, 12:28:35
Kann man die Ereignisprozedure so nicht deakitivieren?
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: bahasu am Mai 30, 2011, 13:10:37
Zitat von: cyberchris am Mai 25, 2011, 12:44:43
in einem Formular beim Anzeigen eine Ereignisprozedur dahinter.

Hi,
was passiert mit:
Me.OnCurrent= ""     ' deaktivieren
bzw.
Me.OnCurrent="[Event procedure]"    ' aktivieren

Harald
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: database am Mai 30, 2011, 15:21:50
Hallo,

ZitatWenn ich im Form_Current die Checkbox abfrage, flimmert es trotzdem

Probier mal nach MzKlMu's Vorschlag...:

If Me!Checkbox = True Then     'Exit Sub oder =False
   Me!Painting = False
   ...
   Me!DeineIDAktiv = Me!IDoWAG    
   ...
   ...
   Me!Painting = True
Else
   ...
   ...
End If


Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: cyberchris am Mai 30, 2011, 19:48:17
Muss ich die Tage mal ausprobieren.

Vielen Dank.
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: cyberchris am Juni 01, 2011, 09:17:44
...
Me.OnCurrent= ""     ' deaktivieren
bzw.
Me.OnCurrent="[Event procedure]"    ' aktivieren
...

Funktioniert einwandfrei und wie gewünscht!

Vielen Dank!!!
cyberchris
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: cyberchris am Juni 09, 2011, 12:12:51
Hallo,

jetzt benötige ich diese Möglichkeit auf für Textfeld und dem Ereignis Nach Aktualisierung.
Wie kann ich dieses Ereginis ansprechen?

Danke
gruß Christoph
Titel: Re: Ereignisprozedur per VBA ändern
Beitrag von: bahasu am Juni 09, 2011, 17:03:17
N'abend Chris,

Me.DeinFeld.AfterUpdate = "" zum Deaktivieren

Harald