推 kyohung:太感激了!! 06/14 22:26
※ 引述《kyohung (哀..可悲...一段聲音訊號)》之銘言:
: Me.Controls("TextBox" & i).Text = ""
: 他會出現一個錯誤訊息在ME.Control那行
: 說是我沒有NEW一個新物件
: 是不是我少了什麼步驟?
應該是因為你中間有跳號 (比如說少了 TextBox100)
所以 Me.Controls("TextBox100") 會是 Nothing
才會發生這個錯誤訊息..
如果你的Form(表單)上的TextBox就只有這160個~
那有另一種可以不透過它的Name就可以清除內容的方式..
而且效率會比用 Me.Controls("名稱") 好~
For Each t As Control In Me.Controls
' 列出 form 上的所有控制項
If TypeOf (t) Is TextBox Then
' 若該控制項是 TextBox, 把他的內容設成 ""
t.Text = ""
End If
Next
--
不然照你原本的做法, 應該要寫成
Dim t as TextBox
t = Me.Controls("TextBox" & i)
' 檢查是否真的存在該TextBox
If Not t is Nothing
t.Text = ""
Else
' 記下這個編號 (這個號碼跳號了)
End if
這樣執行時就不會發生那個錯誤訊息了~
到時候再看哪個TextBox的內容沒被清楚就把他設成跳號的號碼..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.176.251
※ 編輯: cole945 來自: 220.139.176.251 (06/14 00:24)
※ 編輯: cole945 來自: 220.139.176.251 (06/14 00:32)