Supportnet / Forum / Datenbanken
Fehler Fokus bei EMailversand
Frage
Hallo zusammen
Ich möchte, dass beim Klick auf ein Textfeld, Outlook autom. geöffnet wird und ich ein EMail schreiben kann. Habe auch die Hilfe gefunden, nach der ich gesucht habe. Beim ersten Feld funktioniert das auch sehr gut. Nur bei einem zweiten, welches ich hundert mal mit dem ersten verglichen habe, gehts nicht und ich finde einfach nicht raus, wieso nicht. Den Code, welcher ich für das erste Feld verwendet habe lautet:
Private Sub email_Click()
DoCmd.SendObject , , , Me!email.Text, , , , , True
End Sub
Beim zweiten Feld erhalte ich diese dämliche Fehlermeldung, welche mich als absoluter nicht VB-Kenner total verwirrt und ich nicht weiter weiss.
Laufzeitfehler ´2185´:
Sie können die Eigenschaften oder Methoden eines Steuerelements nur dann auswerten, wenn das Steuerelement den Fokus hat.
Kann mir da jemand helfen ? Vor allem habe ich nicht den Schimmer, was ich mit Fokus anfangen soll.
Vielen herzlichen Dank
Cello
Antwort 1 von Coolpix
hallo Cello,
dein Problem ist die Auswertung de Steuerelements mit der Methode ".Text" !
Das funktioniert eigentlich nur, wenn du in deinem
Eingabefeld grade Text eingibst.
d.h. Das Textfeld den Focus hat / aktiviert ist.
Du kannst diesen Fehler beheben indem du
den Inhalt deines Textfeldes vorher an eine Variable übergibst:
Feedback fänd ich Klasse
Greetings ;-)
dein Problem ist die Auswertung de Steuerelements mit der Methode ".Text" !
Das funktioniert eigentlich nur, wenn du in deinem
Eingabefeld grade Text eingibst.
d.h. Das Textfeld den Focus hat / aktiviert ist.
Du kannst diesen Fehler beheben indem du
den Inhalt deines Textfeldes vorher an eine Variable übergibst:
Private Sub email_Click()
Dim Mailtext as String
Mailtext=Me!email.Value
DoCmd.SendObject , , , Mailtext, , , , , True
End Sub
Feedback fänd ich Klasse
Greetings ;-)
Antwort 2 von Cello
Salü Coolpix
Supergenial ! Es funktioniert ! Ich weiss zwar nicht weshalb. Aber hauptsächlich es funktioniert !
Mir ist einfach nicht klar, wieso es bei einem genau gleichen Feld mit der anderen Formel geht und wieso nicht bei diesem Feld.
Aber eben. Alles kann man ja nicht wissen.
Nochmals vielen herzlichen Dank und Gruss aus der sonnigen und heissen Schweiz.
Cello
Supergenial ! Es funktioniert ! Ich weiss zwar nicht weshalb. Aber hauptsächlich es funktioniert !
Mir ist einfach nicht klar, wieso es bei einem genau gleichen Feld mit der anderen Formel geht und wieso nicht bei diesem Feld.
Aber eben. Alles kann man ja nicht wissen.
Nochmals vielen herzlichen Dank und Gruss aus der sonnigen und heissen Schweiz.
Cello
Antwort 3 von Coolpix
hallo nochmal,
das ist eigentlich ganz einfach:
den Parameter ".Text" kann man nur benutzten wenn man z.B. in einem Textfeld Eingaben macht und während der Eingabe den Inhalt des Textfeldes an eine Prozedur übergibt.
z.B.
Lege in einem Formular 2 Textfelder an
1. txtEingabe
2. txtAusgabe
füge dann auf dem Formular folgenden Code ein
dan gib in der Normalansicht im Felt txtEingabe
etwas ein....
du siehst, daß noch während der Eingabe der Text im Feld txtAusgabe geändert wird.
wenn du den Code folgendermaßen änderst:
und im Eigabefeld was änderst wechselt der Inhalt des Ausgabefeldes erst wenn du das Eingabefeld verlässt.
d.h.
du kannst ".Text" nur anwenden, wenn du in deinem auszuwertenden Feld gerade noch am Ändern bist.
ich hoffe das trägt etwas zum Verständnis bei...
Greetings ;-)
das ist eigentlich ganz einfach:
den Parameter ".Text" kann man nur benutzten wenn man z.B. in einem Textfeld Eingaben macht und während der Eingabe den Inhalt des Textfeldes an eine Prozedur übergibt.
z.B.
Lege in einem Formular 2 Textfelder an
1. txtEingabe
2. txtAusgabe
füge dann auf dem Formular folgenden Code ein
Private Sub txtEingabe_Change()
Me.txtAusgabe = Me.txtEingabe.Text
End Sub
dan gib in der Normalansicht im Felt txtEingabe
etwas ein....
du siehst, daß noch während der Eingabe der Text im Feld txtAusgabe geändert wird.
wenn du den Code folgendermaßen änderst:
Private Sub txtEingabe_Change()
Me.txtAusgabe = Me.txtEingabe.Value
End Sub
und im Eigabefeld was änderst wechselt der Inhalt des Ausgabefeldes erst wenn du das Eingabefeld verlässt.
d.h.
du kannst ".Text" nur anwenden, wenn du in deinem auszuwertenden Feld gerade noch am Ändern bist.
ich hoffe das trägt etwas zum Verständnis bei...
Greetings ;-)

