Hur raderar jag innehållet i 20 st Textboxar (1-20) samtidigt och Hej, Jan, Så här kan man också göra Hej SvenPon, <code> Jag har hittat en kod som fungerar: <b>Jag har hittat en kod som fungerar: </b> Var hittad du den ? ;-)Textboxar
hur raderar jag innehållet i 10 st Chekboxar (1-10) samtidigtSv: Textboxar
Samtidigt är omöjligt eftersom en dator jobba sekventiellt, dock går det att fixa inom loppet av någon millisekund beroende på hur snabb dator du har.
Enklaste sättet är att för textboxarna skriva typ:
<code>
textbox1.text=""
textbox2.text=""
osv
</code>
Med att radera checkboxar antar jag att du menar att ta bort bocken? Isåfall så här:
<code>
checkbox1.value=vbunchecked
checkbox2.value=vbunchecked
osv
</code>
Eller ännu enklare för båda fallen är att se till att skapa en kontrollarray som du loopar igenom, det går inte fortare att köra men du sparar en hel del skrivande i kodfönstret...
Lycka till!
// JohanSv: Textboxar
Det finns inga genvägar....
Om du läst hela mitt tips så skrev jag längst ned att de effektivaste sättet är att skapa en array precis som Henrik visar med kod.
Det finns alltså inte ett kommando som tömmer allt. Möjligtvis att stänga av datorn då...
// JohanSv:Textboxar
Hej Trelleborgare, Sven här Västra skolan 1953, Sthlm sedan 1960
Klistra in min Sub ClearBox och anropa med Call ClearBox(Formens referens. Tex. Form1))
<code>
Option Explicit
Private Sub Command1_Click()
Call ClearBox(Form1)
End Sub
Private Sub ClearBox(FormIn As Form)
Dim contrCount As Long, i As Long
Dim aControl As Control
contrCount = FormIn.Controls.Count - 1
For i = 0 To contrCount
Set aControl = FormIn.Controls(i)
If TypeOf FormIn.Controls(i) Is TextBox Then aControl.Text = vbNullString
If TypeOf FormIn.Controls(i) Is CheckBox Then aControl.Value = vbUnchecked
Next 'i
End Sub
</code> Sv: Textboxar
Det är ju naturligtvis en intressant lösning att gå igenom alla kontroller på detta viset.
Jag har dock en viktig kommentar och det är att det inte är formulär_namnet_ som man skickar med utan forumlärets referens. Detta är superviktgit då man kodar objektorienterat så det är rätt objekt man rensar.
Fin lösning för övrigt. (Men kan göras snyggare med lite mer objektorientering och konstanter istället för fasta värden.)
// JohanSv:Textboxar
Option Explicit
Private Sub Command1_Click()
ClearBox Me
End Sub
Private Sub ClearBox(FormIn As Form)
Dim aControl As Control
For Each aControl In FormIn.Controls
If TypeOf aControl Is TextBox Then
aControl.Text = vbNullString
ElseIf TypeOf aControl Is CheckBox Then
aControl.Value = vbUnchecked
End If
Next 'aControl
End Sub
</code>Sv: Textboxar
Dim ctl As Control
For Each ctl In Controls
If TypeOf ctl Is TextBox Then ctl.Text = ""
If TypeOf ctl Is CheckBox Then ctl.Value = 0
Next ctl
Detta tömmer alla TextBoxar och ChechBoxar
Tack för alla svar
Det är inte lätt att vara novisSv:Textboxar
mmm...BRA Andreas. Du är finsnickaren,jag är grovsmed, slutkläm på detta prob BRA !
Mina svar är inte alltid 100 % genomtänkta och jag har inga problem med att ta åt mig.
Din lösning är optimal.Den åkte i Godislådan direkt.
Ha det
Sven