我现在有一个问题,我想在一条记录中查找一条子串,比如现在有一记录存在str变量中,我现在要查找里面是有“kc”情况,还是“mc”情况,或者“dc”情况,或者既没有kc,也没有mc,也没有dc的情况:或许str本身就是空串情况,我需要使用select case ......这样的形式判断 ,不用if ..elseif.....。不知道这里有没有人知道呢?
  我想如果记录中包含kc就做什么什么,如果是mc就做另外什么什么的.......
当然在一条记录中是不可能同时有kc,又有mc的情况,也就是说不可能同时存在两种情况!

解决方案 »

  1.   

    这里不能用case吧
    没看明白
    关注
      

  2.   

    就是想用case这样判断 ,希望可以简单点代码,要是if...elseif...代码显的很多很乱!
      

  3.   

    tmp_str=....
    select case ucase(instr(tmp_str))
        case "KC"
           ...
        case "MC"
           ...
        case else
           ...
    end select
      

  4.   

    为人民币服务,你这样的方法真的可以么?
          instr返回的不是字符串位置么?能返回kc,mc?再说你的instr函数的参数不太对呀
      

  5.   

    Select Case True
        Case str Like "*kc*"
            MsgBox "包含kc"
        Case str Like "*mc*"
            MsgBox "包含mc"
        Case str Like "*dc*"
            MsgBox "包含dc"
        Case Else
            MsgBox "都不包含"
    End Select
      

  6.   

    上面的我试过了可以的,其中like是运算符
      

  7.   

    '如果非得用CASE,看看下面,你觉得IF好还是CASE好...
    Dim tmp_str As String
    Dim iHasFlag As Integer   '含有字串标志
    tmp_str = ...
    iHasFlag = iHasFlag
    If (InStr(tmp_str, "KC") > 0) Then iHasFlag = iHasFlag Or &H1&
    If (InStr(tmp_str, "MC") > 0) Then iHasFlag = iHasFlag Or &H2&
    If (InStr(tmp_str, "DC") > 0) Then iHasFlag = iHasFlag Or &H4&Select Case iHasFlag
        Case &H1&
        Case &H2&
        Case &H4&
        Case 0
        Case Else
    End Select