18. november 2009 - 15:32Der er
7 kommentarer og 1 løsning
Tæller skifter ikke?
Jeg sidder med et mindre problem.
Jeg har lavet en tæller som skal generere tal på formlen 0001, 0002, osv optil 9999. Men tælleren skifter ikke den siger hele tiden 0001.
Min kode er som følger:
Dim dag As String Dim md As String Dim år As String Dim CPR As Long Dim i As Integer Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, f As Integer, g As Integer, h As Integer Dim j As Integer Dim løbenummer As String Dim testsum As Long
Do check_dato = True
dato = InputBox("indtast fødselsdagen du ønsker at finde CPR numre for DDMMÅÅÅÅ", "Fødselsdato boks") dag = (Left(dato, 2)) md = (Mid(dato, 3, 2)) år = (Right(dato, 4))
If dag * 1 < 1 Or dag * 1 > 31 Then check_dato = False If md * 1 < 1 Or md * 1 > 12 Then check_dato = False If år * 1 < 1858 Or år * 1 > 2057 Then check_dato = False
If check_dato = False Then MsgBox ("Den indtastede dato er forkert")
Loop Until check_dato = True
'hvis den indtastede dato er korrekt begynder jeg at finde CPR 'numre som opfylder modulus 11 tjekket. Jeg benytter den angivne 'fødselsdag og laver en tæller som går fra 0001 - 9999 og bruger 'tælleren som løbe nummere.
If check_dato = True Then
For i = 1 To 9999 løbenummer = Format(i, "000#")
a = Mid(dag, 1, 1) b = Mid(dag, 2, 1) c = Mid(md, 1, 1) d = Mid(md, 2, 1) e = Mid(år, 3, 1) f = Mid(år, 4, 1) g = Mid(løbenummer, 1, 1) h = Mid(løbenummer, 2, 1) i = Mid(løbenummer, 3, 1) j = Mid(løbenummer, 4, 1)
Har inte med spørgsmålet at gøre, men tænk på at man ikke kan bruge mod11 tjekket mere. Bare lige en oplysning, hvis det er noget der skal bruges professionelt.
Du foretager dig jo intet? Du skriver den samme værdi til a,b,c,d,e,f 9999 gange? Du skriver en værdi til g,h,i,j 9999 gange, men de gemmes jo ingen steder?
Desuden er der en fejl: Du bruger i både som tæller i For Next loopet, men du giver den en ny værdi midt i loopet: i = Mid(løbenummer, 3, 1). Det kan man ikke.
OK, -som nævnt er det i = Mid(løbenummer, 3, 1) der skaber dit problem. Her skal du bruge en anden variabel, og KUN bruge i som indekstæller i For Next loopet.
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.