比较两个字符串,但是区分大小写,应该用什么函数?
比如“Abcd”和“abcd”是不一样的?

解决方案 »

  1.   

    StrComp(string1, string2[, compare])vbUseCompareOption -1 使用Option Compare语句设置执行一个比较。 
    vbBinaryCompare 0 执行一个二进制比较。 
    vbTextCompare 1 执行一个按照原文的比较。 
    vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库信息的比较。 
      

  2.   

    StrComp 函数
    返回 Variant (Integer),为字符串比较的结果。
    StrComp(string1, string2[, compare])
    StrComp 函数的语法有下面的命名参数:
    string1 必要参数。任何有效的字符串表达式。 
    string2 必要参数。任何有效的字符串表达式。 
    Compare 可选参数。指定字符串比较的类型。如果 compare 参数是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。 
    设置
    compare 参数设置为:
    常数 值 描述 
    vbUseCompareOption -1 使用Option Compare语句设置执行一个比较。 
    vbBinaryCompare 0 执行一个二进制比较。 
    vbTextCompare 1 执行一个按照原文的比较。 
    vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库信息的比较。 
    返回值StrComp 函数有下列返回值:如果 StrComp 返回 
    string1 小于 string2 -1 
    string1 等于 string2 0 
    string1 大于 string2 1 
    string1 或 string 2为 Null Null 
      

  3.   

    a="AB"
    b="ab"
    if a=b then 
    ....
    elseend if
      

  4.   

    ‘写了个比较大小写的程序,主要是利用asc码来比较,结果是abcd》Abcd
    Function strCompByAsc(str1, str2) As Integer
      Dim i As Integer
      Dim LetterA, LetterB As Integer  '要比较的字符串的asc码
      Dim length As Integer
      '比较2个字符串的长度,得到字符串长度的最小值
      length = IIf(Len(str1) >= Len(str2), Len(str2), Len(str1))
      For i = 1 To length
      '逐个比较ascii码
         LetterA = Asc(Mid(str1, i, 1))
         LetterB = Asc(Mid(str2, i, 1))
         
        If LetterA > LetterB Then  '前面的小
          strCompByAsc = 1
          Exit Function
        ElseIf LetterA < LetterB Then  '前面的大
          strCompByAsc = -1
          Exit Function
        End If
      Next
     
     '如果前面都一样,那么长的那个字符大
     If Len(str2) < Len(str1) Then
        strCompByAsc = 1
     ElseIf Len(str2) > Len(str1) Then
         strCompByAsc = -1
    Else
        strCompByAsc = 0
    End IfEnd Function
      

  5.   

    声明 Option Compare Binary 就行了,不需要特殊的函数。