2013-03-23 2 views
0

데이터베이스 시스템을 업데이트하는 중입니다. 나는 각각의 텍스트 상자를 100 개가 넘지 않는 값으로 설정해야한다. 그렇지 않으면 숫자가 없을 때 메시지 상자가 나타나서 사용자가 실수를 변경할 때까지 데이터가 저장되지 않는다. 내가 어떻게 해? 텍스트 상자의 속성에서VB 6.0에서 텍스트 상자의 값을 제한하는 방법

답변

2

나는 Hiren Pandya에 동의하지만, 나는 내 자신의 테이크도 추가 할 것이라고 생각했다.

문자열을 숫자 값으로 변환하는 것은 간단하지 않지만 VB6에서는 Val, CInt, CDBl 등의 함수를 사용하면 원하는 결과를 얻을 수 있습니다. (일부 링크는 VB.Net 용이지만 여전히 가치가있을 수 있습니다). 스스로 사용자 입력의 유효성을 검사 할 때 숫자 그룹화, 양수/음수, 소수점 구분 기호 등에 대해 생각하고 있는지 확인하려고합니다. 대부분의 경우 내장 함수가 충분합니다.

Private Sub Text1_Change() 
    On Error GoTo Err_Handler 
    Dim text As String 
    text = Text1.text 
    If IsNumeric(text) = True Then 

     'If you only want integers... 
     Dim value As Integer 
     value = Val(text) 
      If value <= 100 And value > 0 Then 
      'The value is good so whatever stuff you need to do 
      'And then leave the procedure 
      Exit Sub 
     End If 
    End If 

    'Let everything else fall through here... 
Err_Handler: 
    MsgBox "Invalid input." 
    'Other stuff to prevent saving 
End Sub 
+0

감사합니다. 당신의 도움, 해결 된 임무 모두를 위해, 고마워요 !!! – WaiShyang

1

If Len(txtBox.Text)>2 then msgbox... 

다음 추가 ... 2

당신이 메시지가 텍스트 상자 변경 이벤트에서, 당신이 할 수 원하는 경우에 최대 길이를 설정하여 메시지 상자에 메시지.

내가 필요한 경우 더 자세히 설명 할 수 있습니다. 아래와 같은 몇 가지 ...

Private Sub Text1_Change() 
If Len(Text1) > 6 Then 
    Text1 = " "  
    MsgBox "Not more than six"  
    Text1.SetFocus  
End If 
End Sub 
+0

SetFocus의 사용법에 대해 질문 할 수 있습니까? 자세한 내용을 참조 할 수 있습니까? 고마워 :) – WaiShyang

+0

SetFocus는 텍스트 상자에 포커스 (커서)를 설정합니다. 사용자가 메시지 상자가있는 후, 사용자가 양식으로 돌아 오면 커서가 SetFocus가 적용된 텍스트 상자에 나타납니다. –

관련 문제