为提高程序运行效率,使用二分法进行字符串查找。如有一字符串数组A(10)
A1(0)=“PUH000”,A1(1)=“PUH001”,A1(2)=“PUH002”,A1(3)=“PUH003”,
A1(4)=“PUH004”,A1(5)=“PUH005”,A1(6)=“PUH006”,A1(7)=“PUH007”,
A1(8)=“PUH008”,A1(9)=“PUH009”,A1(10)=“PUH010”,A1(11)=“PUH011”,
发现有一个难题解决不了,即无论使用什么方法进行字符串比较时,“PUH007”都比
PUH010”、“PUH011”大,有什么办法能解决这个问题。谢谢!!!

解决方案 »

  1.   

    StrComp 函数用vbDatabaseCompare比较方式。
    vbDatabaseCompare:仅适用于Microsoft Access,执行一个基于数据库信息的比较。
    我没试过,不知道行不行。
      

  2.   

    "PUH007" > "PUH010" Is True??? 不可能吧?怎么我觉得应是False呀!
    你这种类型字符串可直接比大小排序呀!不明白。
      

  3.   

    不会啊,你怎么比较的?
    我试了一下,"PHU007"比"PHU010"或"PHU011"都小啊
    就用关系比较
      

  4.   

    我也刚才试了一下,不可能吧.
    "PUH010" > "PUH007"这才是结果
      

  5.   

    '这是我写的测试程序,运行后的结果,i,j都为-1.k为1.很正常啊。
    Private Sub Command1_Click()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim str1 As String
    Dim str2 As String
    Dim str3 As String
    str1 = "PUH007"
    str2 = "PUH010"
    str3 = "PUH011"
    i = StrComp(str1, str2)
    j = StrComp(str1, str3)
    k = StrComp(str2, str1)
    Print i
    Print j
    Print k
    End Sub
      

  6.   

    "PUH007"<"PUH010"<"PUH011" ,我试了,不可能比他大