Dim SchoolID As String
    Dim result As Integer
    result = InStr(1, UserName, "dx", 1)
    
    Dim length As Integer
    length = result + 1
   Dim i  As Integer
   i = 0
   UserName = "ynsfdxjx"
    i = Len(UserName)
    SchoolID = Left(UserName, length)
    
其中UserName是全局变量,但是运行之后,i的值为0,SchoolID的值为空。。
这个是什么问题?

解决方案 »

  1.   

    1 UserName = "ynsfdxjx" 是不是应该放到第三行去,哪有找到位置了,又把变量给变了的,LEFT当然会抽风
    2.你之前UserName 是什么类型变量?保险起见,倒数第二行改为 i=len(cstr(username))
    3.每一次变量赋值后,DEBUG看一次,或者msgbox看一下成功取到值没有。比如 result = InStr(1, UserName, "dx", 1) 之后就应该 debug 或者 msgbox (result)看一下。分分钟就能找出问题所在
      

  2.   

    Dim UserName As StringPrivate Sub Command1_Click()
        Dim SchoolID As String
        Dim result As Integer
        
        UserName = "ynsfdxjx"
        result = InStr(1, UserName, "dx", 1)
          
        Dim length As Integer
        length = result + 1
        Dim i As Integer
        i = 0
        i = Len(UserName)
        SchoolID = Left(UserName, length)
        Debug.Print i
        Debug.Print SchoolID
    End Sub
      

  3.   

    我错了。。我发错了。
    Dim SchoolID As String
      Dim result As Integer
      result = InStr(1, UserName, "dx", 1)  
      Dim length As Integer
      length = result + 1
      SchoolID = Left(UserName, length)
    其中UserName是全局变量,但是SchoolID的值为空??
      

  4.   

    Dim SchoolID As String
      Dim result As Integer
      debug.print UserName  '看是否有值
      result = InStr(1, UserName, "dx", 1)   
      Dim length As Integer
      length = result + 1
      SchoolID = Left(UserName, length)