Ich erstelle ein persönliches Bibliotheksinventar-System mit einer Access 2007-Datenbank. Wenn ich im Code auf die Eigenschaft .Text
eines Formularsteuerelements referenziere, ob es den Wert ändert oder einfach den Wert in einer IF-Anweisung überprüft, werde ich mit Run-time error '2185': You can't reference a property or method for a control unless the control has the focus
aufgefordert.
Warum ist das?
Zum Setzen von .Text
ist das keine große Sache, aber wenn ich den Wert in einer IF-Anweisung überprüfe, kann ich den Fokus nicht setzen, wenn ich mehrere Bedingungen überprüfe.
Verwenden Sie stattdessen .Value
- das erfordert nicht, zuerst den Fokus zu setzen. Aus der Dokumentation, zum Beispiel für das TextBox-Steuerelement (Hervorhebung von mir):
Während das Steuerelement den Fokus hat, enthält die Eigenschaft Text den Text Daten derzeit in der Kontrolle; Die Value-Eigenschaft enthält die letzte gespeicherte Daten für die Steuerung. Wenn Sie den Fokus auf einen anderen verschieben Die Daten des Steuerelements werden aktualisiert, und die Value-Eigenschaft wird festgelegt zu diesem neuen Wert. Die Einstellung für die Texteigenschaft ist dann erst verfügbar Das Steuerelement erhält den Fokus erneut.
Tags und Links vba properties ms-access access-vba ms-access-2007