access解決標籤事件穫取不到文本框的值

2018-04-07 07:51:00
黃善超
原創
791


有網友在窗體中創建文本框,通過標籤的單擊事件來穫取文本框的值。

結果髮現穫取文本框的值失敗,如下圖所示:


這是因爲焦點還在原來的文本框 ,文本框的值還沒有改變,所以穫取失敗。如果修改瞭內容,光標還沒有離開文本框,那.Text屬性改變瞭,但.Value還沒有保存。標籤 圖片等沒有焦點的。隻有按鈕 文本框 組閤框 選項框 子窗體 等纔有焦點。



解決辦法:

1. 使用按鈕等有焦點的控件
2. 可以設置另一箇控件穫得焦點 如 控件.SetFocus 強製使文本框失去焦點

3. 使用文本框的Text 屬性




註意:文本框有兩箇屬性.Text 和 .Value

.Text 是當前顯示文本 ,是你正在文本框中輸入的內容
.Value 是當前值,是文本框中真正的值


舉箇例子:

文本框Text1 的原內容是 “ABC
如果你在Text1中輸入內容,將牠改爲“ABCDE,但光標還沒有離開這箇Text1
此時Text1 中的Text屬性 是“ABCDE
但 Text1 中的Value屬性 是 ABC
如果用標籤的單擊事件 可驗證這箇結果


但如果用 按鈕的單擊事件來 執行呢
因爲按鈕是有焦點的,光標就從Text1 移到瞭按鈕,Text1失去瞭焦點,所以 Text1輸入的新內容就保存到.Value中瞭,所以 Text1 中的Text屬性和Value屬性都是結果是一樣的。都爲“ABCDE

    分享