Avatar billede flemming_a Nybegynder
14. december 2009 - 14:03 Der er 3 kommentarer og
1 løsning

får det sidste tal forkert

Jeg fik i http://www.eksperten.dk/spm/895322 hjælp til en funktion der fjerner 0'er, men jeg kan ikke få den kaldt på det rigtige tidspunkt.
Det kode jeg har fjumret mig frem til er:

Private Sub EAN_KeyPress(KeyAscii As Integer)

'Tæl antal tegn - se bort fra tegn der ikke er tal.
'når der er registreret 13 tegn, så sendes "enter"

Dim intKey As Integer
intKey = KeyAscii
If (intKey < 48 Or intKey > 58) And Not intKey = 8 Then
    KeyAscii = 0
Else
If IsNull(Me.EAN.Text) Then
        'første tegn - gør ingenting
        'nothing
    Else
i = Len(Me.EAN.Text) + 1
    End If
End If
If i = 13 Then
Me.EAN.Text = LZeroTrim(Me.EAN.Text)
    SendKeys "~"
i = 0
End If
End Sub

funktionen LZeroTrim bliver kaldt inden det sidste tal er kommet med, og det bliver så sat i starten af talrækken efter funktionen er kørt.

Jeg har aldrig før rørt ved VB så det er sikkert ganske simpelt
Avatar billede flemming_a Nybegynder
15. december 2009 - 09:58 #1
problemet er løst jeg har flytte funktionskaldet til en anden funktion, og det hjalp, jeg fatter dog stadig ikke hvorfor det sidste tal "kom for sent"
Avatar billede claes57 Ekspert
15. december 2009 - 10:10 #2
det er fordi det sidste tegn først 'er der' når tasten slippes - ikke når den trykkes ned.
Avatar billede flemming_a Nybegynder
15. december 2009 - 12:18 #3
oooh, jeg havde ikke tænkt så langt, måske ville jeg ha regnet den ud hvis ikke det var fordi jeg har siddet og brugt en stregkodescanner. Ja man bliver lidt klogere hver dag (måske)..

Tak for hjælpen. Hvis du vil ha' point kan jeg oprette et ny spg til dig ?!?
Avatar billede claes57 Ekspert
15. december 2009 - 13:00 #4
nix - det var bare en oplysning.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester