| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Validering af input Fra : Ole J. Hansen | 
  Dato :  02-03-09 17:02 |  
  |   
            Hej alle
 
 Jeg har en database, hvor jeg gerne vil validere inputtet, men jeg har 
 vanskeligt
 ved at få det til at fungere, jeg ville gerne skrive ca. sådan:
 
 Private Sub Text1(6)_Change(Index As Integer)
        Select Case KeyAscii
               Case Asc("0") To Asc("9")
               Case Asc(" ")
               Case Asc("-")
               Case Asc(vbBack)
               Case Else
               KeyAscii = 0
            End Select
 End Sub
 
 Mit problem er, at mine testfelter på formularen er lavet i et array, og jeg 
 kan
 ikke finde ud af, hvorledes jeg skal skrive den første linie i denne 
 procedure,
 jeg mener ikke, at jeg kommer ind i proceduren her, og min indata bliver 
 ikke
 valideret.
 
 m.v.h.
 Ole 
 
  
            
             |   |   
            
        
 
            
         
           Jens Vestergaard (02-03-2009) 
         
	
            | Kommentar Fra : Jens Vestergaard | 
  Dato :  02-03-09 20:49 |  
  |   
            "Ole J. Hansen" <ojh@hansenvæk.mail.dk> skrev den 02 mar 2009 i
 news:49ac02f4$0$90270$14726298@news.sunsite.dk: 
 
 > Hej alle
 > 
 > Jeg har en database, hvor jeg gerne vil validere inputtet, men jeg har
 > vanskeligt
 > ved at få det til at fungere, jeg ville gerne skrive ca. sådan:
 > 
 > Private Sub Text1(6)_Change(Index As Integer)
 >        Select Case KeyAscii
 >               Case Asc("0") To Asc("9")
 >               Case Asc(" ")
 >               Case Asc("-")
 >               Case Asc(vbBack)
 >               Case Else
 >               KeyAscii = 0
 >            End Select
 > End Sub
 > 
 
 Hvis det skal forstås sådan, at du kun vil validere Text1(6), skal du
 droppe "6" definitionen (brug den originale definition) og starte med en
 sætnng som f.eks: 
 
 If Index <> 6 Then Exit Sub
 
 .... så bliver resten af koden kun afvklet for array index 6 
 
 
 
 -- 
 mvh
 Jens Vestergaard
 
  
            
             |   |   
            
        
 
            
         
           Ole J. Hansen (03-03-2009) 
         
	
            | Kommentar Fra : Ole J. Hansen | 
  Dato :  03-03-09 10:38 |  
  |   
            Hej Jens
 Tak for dit svar, men jeg -fatter- fortsat ikke, det var jo min hensigt,
 at der i Text1(6) kun kunne indskrives nummeriske karrakterer og et
 par andre, men ikke bogstaver.
 Jeg har prøvet det du skrev, men jeg kan skrive alt muligt ind i feltet
 jer har ændret min procedure til:
 
 Private Sub Text1_Change(Index As Integer)
        If Index <> 6 Then Exit Sub
        Select Case KeyAscii
               Case Asc("0") To Asc("9")
               Case Asc(" ")
               Case Asc("-")
               Case Asc(vbBack)
               Case Else
               KeyAscii = 0
            End Select
 
 End Sub
 Og du har ret, det er kun felt med index 6 jeg vil validere, hvad
 gør jeg nu galt ?
 m.v.h.
 Ole
 
 "Jens Vestergaard" <j@railsoft.dk> skrev i meddelelsen 
 news:Xns9BC2D3D23F91Fjrailsoftdk@62.243.74.163...
 > "Ole J. Hansen" <ojh@hansenvæk.mail.dk> skrev den 02 mar 2009 i
 > news:49ac02f4$0$90270$14726298@news.sunsite.dk:
 >
 >> Hej alle
 >>
 >> Jeg har en database, hvor jeg gerne vil validere inputtet, men jeg har
 >> vanskeligt
 >> ved at få det til at fungere, jeg ville gerne skrive ca. sådan:
 >>
 >> Private Sub Text1(6)_Change(Index As Integer)
 >>        Select Case KeyAscii
 >>               Case Asc("0") To Asc("9")
 >>               Case Asc(" ")
 >>               Case Asc("-")
 >>               Case Asc(vbBack)
 >>               Case Else
 >>               KeyAscii = 0
 >>            End Select
 >> End Sub
 >>
 >
 > Hvis det skal forstås sådan, at du kun vil validere Text1(6), skal du
 > droppe "6" definitionen (brug den originale definition) og starte med en
 > sætnng som f.eks:
 >
 > If Index <> 6 Then Exit Sub
 >
 > ... så bliver resten af koden kun afvklet for array index 6
 >
 >
 >
 > -- 
 > mvh
 > Jens Vestergaard
 > 
 
  
            
             |   |   
            
        
 
            
         
            Jens Vestergaard (03-03-2009) 
         
	
            | Kommentar Fra : Jens Vestergaard | 
  Dato :  03-03-09 11:43 |  
  |   
            "Ole J. Hansen" <ojh@hansenvæk.mail.dk> skrev den 03 mar 2009 i
 news:49acfa90$0$90263$14726298@news.sunsite.dk: 
 
 > Hej Jens
 > Tak for dit svar, men jeg -fatter- fortsat ikke, det var jo min
 > hensigt, at der i Text1(6) kun kunne indskrives nummeriske karrakterer
 > og et par andre, men ikke bogstaver.
 
 > Og du har ret, det er kun felt med index 6 jeg vil validere, hvad
 > gør jeg nu galt ?
 
 Du har jo ingen kode, der fortæller, hvad du vil udføre, hvis du ikke får
 det ønskede input. Og du kigger jo aldrig på, hvad feltet indeholder. 
 
 Hvis du vil validere tast for tast, så er eventen KeyDown nok bedre.
 
 Noget i retning af:
 
 Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer,_
 Shift As Integer)
 If Index <> 6 Then Exit Sub
 
 Select Case KeyCode
     Case 40 To 57
         MsgBox "Numerisk"
               'kode til behandling af tal
     Case Else
         MsgBox "Ikke numerisk"
               'kode til behandling af andre tegn
 End Select
 
 End Sub
 
  
 -- 
 mvh
 Jens Vestergaard
 
  
            
             |   |   
            
        
 
            
         
             Ole J. Hansen (03-03-2009) 
         
	
            | Kommentar Fra : Ole J. Hansen | 
  Dato :  03-03-09 16:14 |  
  |   
            Hej Jens
 Tak igen for dit svar, jeg er dybt på r...., jeg har tidligere lavet en
 validering på et felt, hvor der kun må indtastes tal, og det virker
 fint, jeg har læst og læst og gennemgået min gamle kode, men
 jeg kan ikke finde ud af havd der ikke sker.
 Det jeg gerne ville have var, at der kun kunne indtastes tal, og
 hvis der blev indtastet et bogstav, så skulle det ikke kunne lade
 sig gøre.
 Det kan lade sig gøre på den gamle database, og jeg har kopieret
 og kopieret, men jeg får det ikke til at virke.
 
 m.v.h.
 Ole
 Jens Vestergaard" <j@railsoft.dk> skrev i meddelelsen 
 news:Xns9BC37730D807Djrailsoftdk@62.243.74.163...
 > "Ole J. Hansen" <ojh@hansenvæk.mail.dk> skrev den 03 mar 2009 i
 > news:49acfa90$0$90263$14726298@news.sunsite.dk:
 >
 >> Hej Jens
 >> Tak for dit svar, men jeg -fatter- fortsat ikke, det var jo min
 >> hensigt, at der i Text1(6) kun kunne indskrives nummeriske karrakterer
 >> og et par andre, men ikke bogstaver.
 >
 >> Og du har ret, det er kun felt med index 6 jeg vil validere, hvad
 >> gør jeg nu galt ?
 >
 > Du har jo ingen kode, der fortæller, hvad du vil udføre, hvis du ikke får
 > det ønskede input. Og du kigger jo aldrig på, hvad feltet indeholder.
 >
 > Hvis du vil validere tast for tast, så er eventen KeyDown nok bedre.
 >
 > Noget i retning af:
 >
 > Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer,_
 > Shift As Integer)
 > If Index <> 6 Then Exit Sub
 >
 > Select Case KeyCode
 >    Case 40 To 57
 >        MsgBox "Numerisk"
 >        'kode til behandling af tal
 >    Case Else
 >        MsgBox "Ikke numerisk"
 >        'kode til behandling af andre tegn
 > End Select
 >
 > End Sub
 >
 >
 > -- 
 > mvh
 > Jens Vestergaard
 > 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |