Update Textfeld während der Eingabe
In Access habe ich ein Formular in dem es drei Textfelder.
Ich bin versucht, zu aktualisieren ein Textfeld namens tbxCombinedName mit einer Kombination von beiden:
- textbox tbxLastName (person Nachname)
- textbox tbxFirstName (Vorname)
Meine Frage ist: was textbox-Eigenschaft nutze ich, so wie ich bin, die Eingabe von text in tbxLastName, die CombinedName textbox aktualisiert wird sofort und danach gespeichert in der Tabelle Kontakte.
Auf Die website von Microsoft habe ich festgestellt, dass der Schritt Verfahren Sie bei der Eingabe in ein Textfeld sind wie folgt:
KeyDown → Drücken → BeforeInsert - → Ändern → KeyUp
Habe ich versucht, mit dem OnChange und OnKeyDown Eigenschaften, aber ohne Erfolg. Die Eigenschaft, kombiniert mit dem, was code, damit die update-as-you-type-Aktion zu arbeiten?
Dies ist, was ich früher schrieb, das hat nicht funktioniert:
Private Sub tbxLName_change()
Dim lastName As String
Dim nameCode As String
lastName = tbxLName.Value
Debug.Print lastName
nameCode = tbxNameCode.Value
nameCode = lastName
Debug.Print nameCode
End Sub
Vielen Dank für Ihre Hilfe im Voraus.
InformationsquelleAutor Paolo Bernasconi | 2012-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist einer der wenigen Fälle, wo Sie bitte .text-Eigenschaft.
In das Change-Ereignis:
Den .text-Eigenschaft ist nur verfügbar, wenn ein Steuerelement den Fokus hat und es bezieht sich auf den sichtbaren Inhalt der Kontrolle.
Jedoch, dies ist eine Datenbank, und die Allgemeine Regel ist, dass Sie keine nicht speichern errechnet Felder. Der vollständige name kann leicht erhalten werden aus einer Abfrage.
+1 Gute Beratung bei der Beschaffung der gewünschten Informationen aus einer Abfrage
Können die Abfrage-Prozess der Ersten und Letzten Namen in diesem format:
LLLLLL_F
? (LLLLLL ist die ersten 6 Buchstaben des Nachnamens. F ist der erste Buchstabe des Vornamen)Ja, kein problem.
SELECT Left(LastName,6) & "_" & Left(FirstName,1) As NameRef FROM MyTable
Ich verbrachte mehrere Stunden versucht herauszufinden, warum steuerelementname.Wert geben nicht den aktuellen Wert. Das half mir sehr.
InformationsquelleAutor Fionnuala
Nur ein paar Anmerkungen:
Vielleicht möchten Sie gehen mit KeyPress, weil es die Möglichkeit bietet, zu ändern oder zu annullieren, die Taste der Benutzer gedrückt.
Im Beispiel unten werden nur Buchstaben sind erlaubt-und Kleinbuchstaben oberen Gehäuse:
lastName = tbxLName.Text
. Die default-Eigenschaft ist.value
und es ist nicht das gleiche wie.text
in MS Access. Die.text
- Eigenschaft ist nur zur Verfügung, wenn ein Steuerelement den Fokus hat.Einer von denen VB6/VBA feine Unterschiede? Ich werde einfach zu entfernen, das Teil. Vielen Dank für das lassen mich wissen.
InformationsquelleAutor ray