|  | 		    
					
        
         
          
         
	
          | |  | tal i tekstbokse Fra : Michael
 | 
 Dato :  10-05-01 22:19
 | 
 |  | Jeg skal undersøge om begge tekstbokse indeholder en talværdi og samtidig
 skal tallet i den ene være større end i den anden. Jeg benytter følgende
 kode:
 
 Private Sub Command1_Click()
 If IsNumeric(Text1.Text) And IsNumeric(Text2.Text) And Text1.Text >
 Text2.Text Then
 
 Et eller andet kode
 
 Else: MsgBox "Fejl i indtastningen!", , "FEJL"
 End If
 End Sub
 
 Det virker fint, hvis f.eks:
 
 text1 = 10, text2 = 1
 
 Men hvis tilfældet er:
 
 text1 = 10, text2 = 2
 
 så tror programmet at talværdien i text2 er størst og kommer med msgbox'en.
 Er der en fornuftig forklaring på dette, og kan jeg omgå problemet?
 
 På forhånd tak for hjælpen
 
 
 
 
 
 
 |  |  | 
  Jens (10-05-2001) 
 
	
          | |  | Kommentar Fra : Jens
 | 
 Dato :  10-05-01 23:25
 | 
 |  | Hvad med......dette
 
 Option Explicit
 Dim Tal1 As Long
 Dim Tal2 As Long
 
 Private Sub Command1_Click()
 
 On Error GoTo err
 
 Tal1 = Text1.Text
 Tal2 = Text2.Text
 
 If Tal2 > Tal1 Then MsgBox "Tallet 2 er for stort !", vbCritical
 
 MsgBox Tal1, vbInformation
 
 Exit Sub
 err:
 MsgBox "Fejl ! det må kun være tal  !", vbCritical
 
 End Sub
 
 
 
 
 
 |  |  | 
  Mikkel Ro Manzano Ch~ (11-05-2001) 
 
	
          | |  | Kommentar Fra : Mikkel Ro Manzano Ch~
 | 
 Dato :  11-05-01 11:15
 | 
 |  | > så tror programmet at talværdien i text2 er størst og kommer med
 msgbox'en.
 > Er der en fornuftig forklaring på dette, og kan jeg omgå problemet?
 
 Det skyldes at de to værdier sammenligned som strenge.... Ret nemt at
 løse...
 
 Private Sub Command1_Click()
 If IsNumeric(Text1.Text) And IsNumeric(Text2.Text) then
 if Cint(Text1.Text) > cint(Text2.Text) Then
 
 Et eller andet kode
 
 Else: MsgBox "Fejl i indtastningen!", , "FEJL"
 end if
 Else: MsgBox "Fejl i indtastningen!", , "FEJL"
 End If
 End Sub
 
 --
 Mvh. / Regards Mikkel Christensen
 
 
 
 
 |  |  | 
  K. P. Olesen (11-05-2001) 
 
	
          | |  | Kommentar Fra : K. P. Olesen
 | 
 Dato :  11-05-01 11:37
 | 
 |  | Hej
 
 Fejlen ligger i følgende kode:
 
 >Private Sub Command1_Click()
 >If IsNumeric(Text1.Text) And IsNumeric(Text2.Text) And Text1.Text >
 >Text2.Text Then
 [...]
 
 Du sammenligner de to tekster i tekstboksene direkte, og der er altså
 korrekt at f.eks. "10" < "2" ved sammenligning af tekster.
 Løsningen (som f.eks. vist i et andet svar på dit spørgsmål) er at
 overføre indholdet af de to tekstbokse til "talvariable". Om det så
 skal være "Long", "Double" eller ... afhænger selvfølgelig af om du
 arbejder med heltal eller kommatal.
 
 go' fornøjelse
 
 K.P.Olesen
 
 
 
 |  |  | 
 |  |