12. juni 2001 - 18:07Der er
9 kommentarer og 3 løsninger
textbox med fem tal (haster)
Hej derud\'
Jeg mangler lige et lille stykke kode der gør følgende: et tekstfelt bliver der indtastet fem tal og når det sidste siffer er indtastet skal tekstfeltet skifte focus til tekstfelt2...
Private Sub Text1_Change() If Len(Text1.Text) = 5 Then Text2.SetFocus End If End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) \'tjekker taster kun tal Select Case KeyAscii Case vbKeyReturn \'enter = tab KeyAscii = 0 SendKeys \"{tab}\" Case vbKeyBack \'slet tilbage Case 48 To 57 \'0 til 9 Case Else KeyAscii = 0 MsgBox \"Indtast kun tal\", vbCritical, \"Tænk dig om !!\" End Select End Sub
nej sådan er det ikke helt... jeg vil gerne have når jeg nu trykker i text2 og jeg så opdager at jeg har skrevet forkert i text1, så sletter jeg den tekst jeg er igang med i text2 og når det sidste bogstav er slattet så hopper den tilbage så jeg kan slette text1.
Så lidt... Men men .. det her er jo dårligt hvis nu du har 10 felter ... så er det nemmere at bruge et control array. Lav en tekst box, kald den txtText, sæt \"Index\" til 0. Kopier boxen et par gange og indsæt flg. i din form\'s kode:
Private Sub txtText_KeyUp(Index As Integer, KeyCode As Integer, Shift As Integer) If Len(txtText(Index).Text) = 5 And Index < txtText.UBound Then txtText(Index + 1).SetFocus ElseIf Len(txtText(Index).Text) = 0 And Index > 0 Then txtText(Index - 1).SetFocus txtText(Index - 1).SelLength = Len(txtText(Index - 1)) End If End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.