Discussion:
Ausdrucks-Generator in ACCESS 2003
(zu alt für eine Antwort)
mlootz
2007-01-28 12:18:03 UTC
Permalink
Hallo,

ich habe folgenden Fehler festgestellt: In ACCESS 2003 mit SP2 unter XP mit
SP2 funktionieren keine Aktionen wie "Beim Hingehen" wenn der Ausdruck über
den Ausdrucks-Generator erzeugt wird. Das ganze habe ich auf mehreren
PC/Laptops getestet und wurde auch von anderen bestätigt. Unter den früheren
Versionen hat das funktioniert.

Beispiel: Auf eienm Formular mit 3 Feldern

dat1 als Datum
dat2 als Datum
erg als Zahl

basierend auf gleichnamiger Tabelle.

Wenn ich auf das Ereignis "Beim Hingehen" von erg den Ausdrucks-Generator
aufrufen und dort

=[dat2]-[dat1]

hineinschreibe, dann bleibt die Berechnung beim hingehen aus. Dito für alle
anderen Aktionen.

Makros oder VBA code funktionieren hingegen.

Es ist auch egal was für Feldtypen deklariert werden. Bei Text mit den &
Zeichen funktioniert es ebensowenig.

Ich gehe davon aus, dass MS vergessen hat die Aktionen für den
Ausdrucks-Generator zu aktivieren da z.B. unter Vista mit Office 2007 keine
Aktionen, weder Makros noch VBA code ausgeführt werden.

Da MS keine Möglichkeit geschaffen hat, BUG's zu reporten würde mich
interessieren, ob auch andere dieses Phänomen festgestellt haben.

Ausgangspunkt war, daß eine funktionierende Routine in ACCESS 2000, nun
keine Ergebnisse mehr liefert.
Peter Doering
2007-01-28 12:35:44 UTC
Permalink
Hallo,
Post by mlootz
ich habe folgenden Fehler festgestellt: In ACCESS 2003 mit SP2 unter XP mit
SP2 funktionieren keine Aktionen wie "Beim Hingehen" wenn der Ausdruck über
den Ausdrucks-Generator erzeugt wird. Das ganze habe ich auf mehreren
PC/Laptops getestet und wurde auch von anderen bestätigt. Unter den früheren
Versionen hat das funktioniert.
Beispiel: Auf eienm Formular mit 3 Feldern
dat1 als Datum
dat2 als Datum
erg als Zahl
basierend auf gleichnamiger Tabelle.
Wenn ich auf das Ereignis "Beim Hingehen" von erg den Ausdrucks-Generator
aufrufen und dort
=[dat2]-[dat1]
hineinschreibe, dann bleibt die Berechnung beim hingehen aus. Dito für alle
anderen Aktionen.
Entweder du hast hier einen Denkfehler ... oder ich hab dich falsch
verstanden. ;-)

Die Berechnung als Ausdruck im Ereignis ist fuer die Katz. Wenn du keinem
Feld mitteilst, dass es das Ergebnis darstellen soll, wird nichts
passieren.

Verwende stattdessen den Ausdruck als Steuerelementinhalt. Falls da schon
was steht, weil es ein gebundenes Feld ist, musst du die Berechnung am
besten per VBA machen, dabei aber den Wert explizit setzen:

Private Sub erg_Enter()
Me!erg.Value = Me!dat2 - Me!dat1
End Sub
Post by mlootz
Ausgangspunkt war, daß eine funktionierende Routine in ACCESS 2000, nun
keine Ergebnisse mehr liefert.
Wenn meine Vermutung oben stimmt, bezweifle ich das.

Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
mlootz
2007-01-28 14:41:00 UTC
Permalink
Hallo Peter,

es gibt 3 Möglichkeiten zur Berechnung eines Steuerelements:

- Code-Generator
- Makro-Generator
- Ausdrucks-Generator

Code- und Makro-Generator sind klar und funktionieren auch. Aber nicht der
Ausdrucks-Generator. Es gibt dazu in der ACCESS Hilfe Beispiele die genau das
beschreiben. Und wie gesagt es hat in den früheren Versionen funktioniert.

Ob gebunden oder ungebundene Steuerelemente spielt dabei keine Rolle. Ein
kleines Beispiel in ACCESS sollte das aber bestätigen:

Lege z.B. eine Tabelle mit 3 Feldern an (Format ist im prinzip egal, aber
der Einfachkeit halber Zahlen). Nenne Sie wie beschrieben

dat1
dat2
erg
und meinetwegen noch ein auto-Feld für den Schlüssel. Dann erstellst Du mit
Hilfe des Assistenten (damit es schneller geht) ein Formular basierend auf
der Tabelle. Öffne dann das Formular in der Entwurfsansicht, selektiere das
Steuerelement "erg", schalte die Eigenschaften ein und betätige die 3 Punkte
... rechts neben der Aktion "Beim Hingehen" (kann natürlich auch ein anderes
sein da alle Felder nicht mit dem Ausdrucks-Generator funktionieren). Wähle
dann den Ausdrucks-Generator und klick dich über das vorhandene Formular zu
den Feldern durch und erzeuge z.B. eine Addition aus dat1 und dat2 dann wird
daraus eben

=[dat1]+[dat2]

Wenn Du dann wieder in die Formularansicht wechselst und Werte in da1 und
dat2 einträgst so sollte beim hingehen (Maus oder Tab) in erg das ergebnis
von dat1 und dat2 stehen.

Gruss
Michael
Post by mlootz
Hallo,
Post by mlootz
ich habe folgenden Fehler festgestellt: In ACCESS 2003 mit SP2 unter XP mit
SP2 funktionieren keine Aktionen wie "Beim Hingehen" wenn der Ausdruck über
den Ausdrucks-Generator erzeugt wird. Das ganze habe ich auf mehreren
PC/Laptops getestet und wurde auch von anderen bestätigt. Unter den früheren
Versionen hat das funktioniert.
Beispiel: Auf eienm Formular mit 3 Feldern
dat1 als Datum
dat2 als Datum
erg als Zahl
basierend auf gleichnamiger Tabelle.
Wenn ich auf das Ereignis "Beim Hingehen" von erg den Ausdrucks-Generator
aufrufen und dort
=[dat2]-[dat1]
hineinschreibe, dann bleibt die Berechnung beim hingehen aus. Dito für alle
anderen Aktionen.
Entweder du hast hier einen Denkfehler ... oder ich hab dich falsch
verstanden. ;-)
Die Berechnung als Ausdruck im Ereignis ist fuer die Katz. Wenn du keinem
Feld mitteilst, dass es das Ergebnis darstellen soll, wird nichts
passieren.
Verwende stattdessen den Ausdruck als Steuerelementinhalt. Falls da schon
was steht, weil es ein gebundenes Feld ist, musst du die Berechnung am
Private Sub erg_Enter()
Me!erg.Value = Me!dat2 - Me!dat1
End Sub
Post by mlootz
Ausgangspunkt war, daß eine funktionierende Routine in ACCESS 2000, nun
keine Ergebnisse mehr liefert.
Wenn meine Vermutung oben stimmt, bezweifle ich das.
Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Peter Doering
2007-01-28 17:09:51 UTC
Permalink
Hallo,
Post by mlootz
Post by Peter Doering
Post by mlootz
ich habe folgenden Fehler festgestellt: In ACCESS 2003 mit SP2 unter XP mit
SP2 funktionieren keine Aktionen wie "Beim Hingehen" wenn der Ausdruck über
den Ausdrucks-Generator erzeugt wird. Das ganze habe ich auf mehreren
PC/Laptops getestet und wurde auch von anderen bestätigt. Unter den früheren
Versionen hat das funktioniert.
Beispiel: Auf eienm Formular mit 3 Feldern
dat1 als Datum
dat2 als Datum
erg als Zahl
basierend auf gleichnamiger Tabelle.
Wenn ich auf das Ereignis "Beim Hingehen" von erg den Ausdrucks-Generator
aufrufen und dort
=[dat2]-[dat1]
hineinschreibe, dann bleibt die Berechnung beim hingehen aus. Dito für alle
anderen Aktionen.
Entweder du hast hier einen Denkfehler ... oder ich hab dich falsch
verstanden. ;-)
Die Berechnung als Ausdruck im Ereignis ist fuer die Katz. Wenn du keinem
Feld mitteilst, dass es das Ergebnis darstellen soll, wird nichts
passieren.
Verwende stattdessen den Ausdruck als Steuerelementinhalt. Falls da schon
was steht, weil es ein gebundenes Feld ist, musst du die Berechnung am
Private Sub erg_Enter()
Me!erg.Value = Me!dat2 - Me!dat1
End Sub
[...]
=[dat1]+[dat2]
Wenn Du dann wieder in die Formularansicht wechselst und Werte in da1 und
dat2 einträgst so sollte beim hingehen (Maus oder Tab) in erg das ergebnis
von dat1 und dat2 stehen.
Also, dass man in der *Ereignis*-Zeile Berechnungen durchfuehren koennte,
waere mir neu. Ich hab vorsichtshalber neben A03 auch mal auf A97 getestet,
neben deiner auch ziemlich viele andere Varianten, mit und ohne Eval, aber
ins Feld [erg] von da aus nichts reingekriegt.

Deshalb bleibe ich dabei: In einem *Ereignis*, anders als in der
Steuerelementherkunft, kann man einem Feld keine Werte zuweisen und konnte
man auch nie. Da hat MS bei der A03 nix vergessen. Der Umstand, dass es den
Expression Editor an der Stelle auch gibt, haengt damit zusammen, dass es
durchaus unterschiedliche, von Ausdruecken abhaengige Aufrufe von Makros
oder Prozeduren geben kann.

Gruss - Peter
Henry Habermacher [MVP Access]
2007-01-29 06:32:14 UTC
Permalink
Hallo Peter
Post by Peter Doering
Deshalb bleibe ich dabei: In einem *Ereignis*, anders als in der
Steuerelementherkunft, kann man einem Feld keine Werte zuweisen und
konnte man auch nie. Da hat MS bei der A03 nix vergessen. Der
Umstand, dass es den Expression Editor an der Stelle auch gibt,
haengt damit zusammen, dass es durchaus unterschiedliche, von
Ausdruecken abhaengige Aufrufe von Makros oder Prozeduren geben kann.
In der Ereignis Eigenschaft kannst Du durchaus:
=DeineFunction()
aufrufen. Der Rückgabeparameter der Funktion wird allerdings einfach
ignoriert. Zur Auswahl der hier aufgerufenen Funktion ist der
Ausdrucksgenerator durchaus sinnvoll.

Aber wie Du schriebst, rechnen kannst Du hier nicht. Das müsstest Du auch
hier in eine Funktion auslagern, welche ihrerseits den Inhalt des Felder
überschreibt.

Das einzige Property, wo man AFAIR rechnen kann, ist das ControlSource
Property (von der bedingten Formatierung abgesehen)

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
mlootz
2007-01-29 07:42:04 UTC
Permalink
Hallo Peter,

das Programm habe ich zu Übungszwecken an der VHS verwendet und es hat
definitiv funktioniert unter 95, 97 und 2000. Aber lies die Hilfe von ACCESS
dazu:

Alle anzeigen
Informationen zum Verweisen auf ein Objekt oder dessen Eigenschaften in
Ausdrücken
Verwenden Sie einen Bezeichner in einem Ausdruck, um auf ein Objekt oder
dessen Eigenschaften zu verweisen. Sie können z. B. auf ein geöffnetes
Formular, einen geöffneten Bericht, ein Steuerelement in einem geöffneten
Formular oder Bericht oder auf beliebige Eigenschaften des Formulars oder
Berichts verweisen.
Verweisen auf ein Objekt mithilfe eines vollständigen Bezeichners
Die folgende Kennung verweist auf die Sichtbar-Eigenschaft eines
Steuerelements:
Reportsl![Rechnung]![Empfänger].Sichtbar
Die vollständige Kennung eines Objekts oder einer Eigenschaft zeigt die
Beziehung zwischen Elementen in der Kennung an. In diesem Beispiel heißt das:
"Reports" verweist auf die Auflistung geöffneter Berichte in der Datenbank.
Microsoft Access erstellt automatisch Forms- und Reports-Auflistungen für
jede Datenbank. Die Forms-Auflistung enthält alle geöffneten Formulare, die
Reports-Auflistung alle geöffneten Berichte.
[Rechnung] verweist auf den Bericht Rechnung in der Reports-Auflistung.
[Empfänger] verweist auf das Steuerelement Empfänger im Bericht Rechnung.
"Sichtbar" verweist auf die Sichtbar-Eigenschaft des Steuerelements
Empfänger.
Es ist sinnvoll, unter Verwendung eines vollständigen Bezeichners auf ein
Objekt oder eine Eigenschaft zu verweisen. Sie müssen z. B. den vollständigen
Bezeichner eingeben, wenn Sie auf ein Steuerelement in einem Formular oder
Bericht verweisen, das/der gerade nicht den Fokus hat. Der nachstehende
Ausdruck zeigt die Summe der Werte in den Steuerelementen Gesamtpreis und
Frachtkosten des Formulars Bestellung in einem Steuerelement in einem anderen
Formular an:
= Formulare![Bestellungen]![Gesamtpreis] +
Formulare![Bestellungen]![Frachtkosten]
Verweisen auf ein Objekt ohne einen vollständigen Bezeichner
In bestimmten Fällen können Sie auch ohne Angabe des vollständigen
Bezeichners auf ein Steuerelement oder seine Eigenschaften verweisen:
Wenn Sie auf ein Steuerelement im aktuellen Formular oder Bericht verweisen,
müssen Sie die Formular- oder Berichtskennung nicht angeben. Sie können z. B.
die Steuerelementinhalt-Eigenschaft folgendermaßen einstellen, wenn Sie die
Summe der Werte aus den Steuerelementen Gesamtpreis und Frachtkosten in einem
anderen Steuerelement desselben Formulars anzeigen möchten:
= [Gesamtpreis] + [Frachtkosten]
Wenn Sie auf ein Steuerelement in einem Unterformular oder einem
Unterbericht verweisen, müssen Sie die vollständige Kennung für das Formular
oder den Bericht nicht angeben, wenn Sie die Formular-Eigenschaft oder die
Bericht-Eigenschaft verwenden. Sie können z. B. die folgende Kennung
verwenden, um auf das Steuerelement Menge im Unterformular Bestellungen zu
verweisen:
Formulare![Bestellungen]![Unterformular Bestellungen]![Menge]
Die vollständige Kennung für das Steuerelement würde folgendermaßen lauten:
Formulare![Bestellungen]![Unterformular Bestellungen].Form![Menge]
In einem Makro oder einem Aktionsargument müssen Sie den Bezeichner für das
Formular oder den Bericht, in dem das Makro ausgeführt wird, nicht angeben.
Wenn Sie z. B. für eine Ereigniseigenschaft in einem Formular den Namen eines
Makros angeben, können Sie auf die Steuerelemente des Formulars in der Spalte
Bedingung des Makros oder in Aktionsargumenten ohne Angabe des Bezeichners
des Formulars verweisen.
In einer Visual Basic für Applikationen-Prozedur können Sie an Stelle des
vollständigen Bezeichners das Schlüsselwort Me verwenden, um auf ein
Steuerelement im aktuellen Formular oder Bericht zu verweisen. Fügen Sie z.
B. die nachstehende Anweisung zur Ereignisprozedur hinzu, wenn Sie die Summe
der Werte in den Steuerelementen Gesamtpreis und Frachtkosten eines Formulars
der Variablen Bestellsumme in einer der Ereignisprozeduren des Formulars
zuweisen möchten:
OrderTotal = Me![Subtotal] + Me![Freight]

gesucht nach: bezeichner von Unterformularen

Anmerkungen
Wenn Sie ein Makro oder Microsoft Visual Basic für Applikationen-Code
ausführen, in dem ein enthaltener Ausdruck auf ein Formular oder einen
Bericht verweist, muss das Formular bzw. der Bericht geöffnet sein.
In einer Microsoft Visual Basic-Prozedur können Sie durch Angeben des Namens
eines Objekts in Klammern und unter Verwendung von Anführungszeichen (")
anstatt des !-Operators auf ein Objekt verweisen. Die Klammernsyntax ist
erforderlich, wenn Sie in einem Bezeichner eine Variable verwenden möchten.
Die nachstehenden Bezeichner sind z. B. gleichbedeutend:
Forms![Orders]![OrderDate]
Forms("Orders")("OrderDate")

Mit freundlichen Grüßen
Michael
Post by mlootz
Hallo,
Post by mlootz
Post by Peter Doering
Post by mlootz
ich habe folgenden Fehler festgestellt: In ACCESS 2003 mit SP2 unter XP mit
SP2 funktionieren keine Aktionen wie "Beim Hingehen" wenn der Ausdruck über
den Ausdrucks-Generator erzeugt wird. Das ganze habe ich auf mehreren
PC/Laptops getestet und wurde auch von anderen bestätigt. Unter den früheren
Versionen hat das funktioniert.
Beispiel: Auf eienm Formular mit 3 Feldern
dat1 als Datum
dat2 als Datum
erg als Zahl
basierend auf gleichnamiger Tabelle.
Wenn ich auf das Ereignis "Beim Hingehen" von erg den Ausdrucks-Generator
aufrufen und dort
=[dat2]-[dat1]
hineinschreibe, dann bleibt die Berechnung beim hingehen aus. Dito für alle
anderen Aktionen.
Entweder du hast hier einen Denkfehler ... oder ich hab dich falsch
verstanden. ;-)
Die Berechnung als Ausdruck im Ereignis ist fuer die Katz. Wenn du keinem
Feld mitteilst, dass es das Ergebnis darstellen soll, wird nichts
passieren.
Verwende stattdessen den Ausdruck als Steuerelementinhalt. Falls da schon
was steht, weil es ein gebundenes Feld ist, musst du die Berechnung am
Private Sub erg_Enter()
Me!erg.Value = Me!dat2 - Me!dat1
End Sub
[...]
=[dat1]+[dat2]
Wenn Du dann wieder in die Formularansicht wechselst und Werte in da1 und
dat2 einträgst so sollte beim hingehen (Maus oder Tab) in erg das ergebnis
von dat1 und dat2 stehen.
Also, dass man in der *Ereignis*-Zeile Berechnungen durchfuehren koennte,
waere mir neu. Ich hab vorsichtshalber neben A03 auch mal auf A97 getestet,
neben deiner auch ziemlich viele andere Varianten, mit und ohne Eval, aber
ins Feld [erg] von da aus nichts reingekriegt.
Deshalb bleibe ich dabei: In einem *Ereignis*, anders als in der
Steuerelementherkunft, kann man einem Feld keine Werte zuweisen und konnte
man auch nie. Da hat MS bei der A03 nix vergessen. Der Umstand, dass es den
Expression Editor an der Stelle auch gibt, haengt damit zusammen, dass es
durchaus unterschiedliche, von Ausdruecken abhaengige Aufrufe von Makros
oder Prozeduren geben kann.
Gruss - Peter
Henry Habermacher [MVP Access]
2007-01-29 11:15:55 UTC
Permalink
Hallo mlootz
Post by mlootz
das Programm habe ich zu Übungszwecken an der VHS verwendet und es hat
definitiv funktioniert unter 95, 97 und 2000. Aber lies die Hilfe von
Dann zeig mal den Code her, der läuft. Da wird sicher nicht gerechnet,
höchstens beim Aufruf einer Funktion, aber sicher nicht so, wie Du da
machst.
Post by mlootz
Alle anzeigen
Informationen zum Verweisen auf ein Objekt oder dessen Eigenschaften
in Ausdrücken
Verwenden Sie einen Bezeichner in einem Ausdruck, um auf ein Objekt
oder dessen Eigenschaften zu verweisen. Sie können z. B. auf ein
geöffnetes Formular, einen geöffneten Bericht, ein Steuerelement in
einem geöffneten Formular oder Bericht oder auf beliebige
Eigenschaften des Formulars oder Berichts verweisen.
Verweisen auf ein Objekt mithilfe eines vollständigen Bezeichners
Das ist vollkommen richtig so und hat nichts mit dem zu tun, was Du machen
willst.

Du kannst durchaus etwas beim Funktionsaufruf berechnen lassen oder
referenzieren, also z.B.

=Foo(DeinFeld + DeinAnderesFeld)

Aber Du kannst das nicht einem Feld zuweisen.

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Oliver Straub
2007-01-29 11:25:17 UTC
Permalink
Hallo Michael,
Post by mlootz
das Programm habe ich zu Übungszwecken an der VHS verwendet und es hat
definitiv funktioniert unter 95, 97 und 2000.
kombiniere, Du hast 95, 97 und 2000 an einem Kochkurs an der VHS teil
genommen.
lol, lies Du die doch lieber mal, dann wirst Du mit Überraschung
feststellen, dass da nichts von dem steht, was Du sagst.


PS.: Beginner finden immer die meisten Bugs. Falls das einer war, dann wurde
er offensichtlich bereits entfernt.


Gruss
Oliver;-)
Peter Doering
2007-01-29 11:30:21 UTC
Permalink
Hallo,
Post by mlootz
Post by Peter Doering
Post by mlootz
Post by Peter Doering
Post by mlootz
ich habe folgenden Fehler festgestellt: In ACCESS 2003 mit SP2 unter XP mit
SP2 funktionieren keine Aktionen wie "Beim Hingehen" wenn der Ausdruck über
den Ausdrucks-Generator erzeugt wird. Das ganze habe ich auf mehreren
PC/Laptops getestet und wurde auch von anderen bestätigt. Unter den früheren
Versionen hat das funktioniert.
Beispiel: Auf eienm Formular mit 3 Feldern
dat1 als Datum
dat2 als Datum
erg als Zahl
basierend auf gleichnamiger Tabelle.
Wenn ich auf das Ereignis "Beim Hingehen" von erg den Ausdrucks-Generator
aufrufen und dort
=[dat2]-[dat1]
hineinschreibe, dann bleibt die Berechnung beim hingehen aus. Dito für alle
anderen Aktionen.
Entweder du hast hier einen Denkfehler ... oder ich hab dich falsch
verstanden. ;-)
Die Berechnung als Ausdruck im Ereignis ist fuer die Katz. Wenn du keinem
Feld mitteilst, dass es das Ergebnis darstellen soll, wird nichts
passieren.
Verwende stattdessen den Ausdruck als Steuerelementinhalt. Falls da schon
was steht, weil es ein gebundenes Feld ist, musst du die Berechnung am
Private Sub erg_Enter()
Me!erg.Value = Me!dat2 - Me!dat1
End Sub
[...]
=[dat1]+[dat2]
Wenn Du dann wieder in die Formularansicht wechselst und Werte in da1 und
dat2 einträgst so sollte beim hingehen (Maus oder Tab) in erg das ergebnis
von dat1 und dat2 stehen.
Also, dass man in der *Ereignis*-Zeile Berechnungen durchfuehren koennte,
waere mir neu. Ich hab vorsichtshalber neben A03 auch mal auf A97 getestet,
neben deiner auch ziemlich viele andere Varianten, mit und ohne Eval, aber
ins Feld [erg] von da aus nichts reingekriegt.
Deshalb bleibe ich dabei: In einem *Ereignis*, anders als in der
Steuerelementherkunft, kann man einem Feld keine Werte zuweisen und konnte
man auch nie. Da hat MS bei der A03 nix vergessen. Der Umstand, dass es den
Expression Editor an der Stelle auch gibt, haengt damit zusammen, dass es
durchaus unterschiedliche, von Ausdruecken abhaengige Aufrufe von Makros
oder Prozeduren geben kann.
das Programm habe ich zu Übungszwecken an der VHS verwendet und es hat
definitiv funktioniert unter 95, 97 und 2000. Aber lies die Hilfe von ACCESS
Schoen. Und wo steht da was davon, dass man "(Ereignisprozedur)" durch eine
Formel ersetzen kann? Um nichts anderes geht es hier. Deine Bezuege auf die
jeweiligen Felder sind korrekt, sie stehen nur an der falschen Stelle. Der
Hilfetext gibt mehrfach Hinweise darauf, was man *IN* die Ereignisprozedur
oder das Makro schreiben soll. Damit ist natuerlich nicht die
Ereigniseigenschaft selbst ("Beim Hingehen" oder so) gemeint.

Wenn du noch eine (kleine) A97-mdb hast, in der das so funktioniert, wie du
behauptest, kannst du mir die gerne mailen (meine Adresse funktioniert),
bitte komprimiert/gezippt.

Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
mlootz
2007-01-29 18:26:00 UTC
Permalink
Hallo Peter,

ich habe leider keine alten Beispieldateien mehr.
Ich weiss nur noch das ich die Beispiele aus der MS ACCESS Hilfe entnommen
habe und auch getestet (und nicht nur getestet sonder an der VHS auch
durchgegangen).
Dabei ist mir u.a. aufgefallen, daß die Ergebnisse (was er letztendlich in
das Feld schreibt) des Ausdrucks-Generator (vormals Ausdrucks-Editor) sich
geändert habe. Aber das betraf in erster Linie die Steuerelemente von
Unterformularen.

Aber seis drum. Ich nehme dieses Beispiel aus meinem Script raus, denn es
war eh nur für diejenigen gedacht die lieber mit der Maus klicken anstatt mit
der Tastatur zu arbeiten.

Nur: Wozu dient da der Ausdrucks-Generator? Nur um ein bereits geschriebenes
Makro oder VBA-code aufzurufen?

Und noch etwas verwundert mich: Unter Vista habe ich Office 2007 Beta2
laufen und dort geht weder ein Makro noch ein vba-code bzw. die Ereignisse
bleiben aus. Und das sah mir sehr verdächtig danach aus das da was
deaktiviert ist und das hätte auch bei 2003 der Fall sein können. Denn
scheinbar wird der Ausdrucks-Generator nicht sehr häufig verwendet weshalb
das noch niemanden aufgefallen ist.

Mit freundlichen Grüßen
Michael
Post by Peter Doering
Post by mlootz
das Programm habe ich zu Übungszwecken an der VHS verwendet und es hat
definitiv funktioniert unter 95, 97 und 2000. Aber lies die Hilfe von ACCESS
Schoen. Und wo steht da was davon, dass man "(Ereignisprozedur)" durch eine
Formel ersetzen kann? Um nichts anderes geht es hier. Deine Bezuege auf die
jeweiligen Felder sind korrekt, sie stehen nur an der falschen Stelle. Der
Hilfetext gibt mehrfach Hinweise darauf, was man *IN* die Ereignisprozedur
oder das Makro schreiben soll. Damit ist natuerlich nicht die
Ereigniseigenschaft selbst ("Beim Hingehen" oder so) gemeint.
Wenn du noch eine (kleine) A97-mdb hast, in der das so funktioniert, wie du
behauptest, kannst du mir die gerne mailen (meine Adresse funktioniert),
bitte komprimiert/gezippt.
Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Peter Doering
2007-01-29 18:37:47 UTC
Permalink
Hallo,
Post by mlootz
Post by Peter Doering
Wenn du noch eine (kleine) A97-mdb hast, in der das so funktioniert, wie du
behauptest, kannst du mir die gerne mailen (meine Adresse funktioniert),
bitte komprimiert/gezippt.
ich habe leider keine alten Beispieldateien mehr.
Schade.
Post by mlootz
Nur: Wozu dient da der Ausdrucks-Generator? Nur um ein bereits geschriebenes
Makro oder VBA-code aufzurufen?
Der Ausdrucksgenerator/-editor ist immer der gleiche, egal von wo aus du
ihn aufrufst. Du koenntest ihn sogar per RunCommand starten. Daraus laesst
sich nicht ableiten, dass jede Syntax, die er ueber den Ausdruck gesehen
korrekt zusammenstellt, ueberall funktioniert.
Post by mlootz
Und noch etwas verwundert mich: Unter Vista habe ich Office 2007 Beta2
laufen und dort geht weder ein Makro noch ein vba-code bzw. die Ereignisse
bleiben aus. Und das sah mir sehr verdächtig danach aus das da was
deaktiviert ist und das hätte auch bei 2003 der Fall sein können. Denn
scheinbar wird der Ausdrucks-Generator nicht sehr häufig verwendet weshalb
das noch niemanden aufgefallen ist.
Office-Button - Access Options - Trust Center - Trust Center Settings usw.

Wenn www.donkarl.com wieder voll funktionsfaehig ist, schau mal in den
AEK-Downloads. In unserem Script zu A07 von der letzten AEK gibt es ein
Kapitel darueber.

Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Henry Habermacher [MVP Access]
2007-01-30 01:35:45 UTC
Permalink
Halloo mlootz

Bitte stelle den Realnamen ein, Danke
Post by mlootz
ich habe leider keine alten Beispieldateien mehr.
;-)
Post by mlootz
Ich weiss nur noch das ich die Beispiele aus der MS ACCESS Hilfe
entnommen habe und auch getestet (und nicht nur getestet sonder an
der VHS auch durchgegangen).
Da ist aber kein Beispiel drin, wie in einem Ereignis ein Wert zugewiesen
werden kann...
Post by mlootz
Dabei ist mir u.a. aufgefallen, daß die Ergebnisse (was er
letztendlich in das Feld schreibt) des Ausdrucks-Generator (vormals
Ausdrucks-Editor) sich geändert habe. Aber das betraf in erster Linie
die Steuerelemente von Unterformularen.
Aber seis drum. Ich nehme dieses Beispiel aus meinem Script raus,
denn es war eh nur für diejenigen gedacht die lieber mit der Maus
klicken anstatt mit der Tastatur zu arbeiten.
Nur: Wozu dient da der Ausdrucks-Generator? Nur um ein bereits
geschriebenes Makro oder VBA-code aufzurufen?
Damit Du da z.B. Funktionsaufrufe über das Klicki-Bunti Interface
zusammenklicken kannst. Eine Funktion kann ja durchaus auch Parameter haben
und wie bereits geschrieben, kannst Du bei der Ermittlung der Parameter
durchaus rechnen. Nur Zusweisen kannst Du bei den Event Procedures nichts
direkt.
Post by mlootz
Und noch etwas verwundert mich: Unter Vista habe ich Office 2007 Beta2
Vergiss die Beta und hole Dir die Trial Version. Es macht kaum Sinn die
fehlerbehaftete Beta zu untersuchen.
Post by mlootz
laufen und dort geht weder ein Makro noch ein vba-code bzw. die
Ereignisse bleiben aus. Und das sah mir sehr verdächtig danach aus
das da was deaktiviert ist und das hätte auch bei 2003 der Fall sein
können. Denn scheinbar wird der Ausdrucks-Generator nicht sehr häufig
verwendet weshalb das noch niemanden aufgefallen ist.
Ist bestimmt jemandem aufgefallen. Vorallem weil es ja jetzt eingebettete
Makros gibt, die dort erzeugt werden können.

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Loading...