Dim keyword as stringIf datasearch.projectname_d.Text <> "" Then keyword = keyword & "temp.project_r = datasearch.projectname_d.Text"
If datasearch.date1 <> 0 Then keyword = keyword & " And temp.testdate_r >= datasearch.date1"
If id1 <> 0 Then keyword = keyword & " And temp.id_r >= id1 And temp.id_r <= id2"
If datasearch.name_d.Text <> "" Then keyword = keyword & " And temp.name_r = datasearch.name_d.Text"If Trim(keyword) Then......End If运行到If Trim(keyword) Then这一行时说类型不匹配。该如何解决?

解决方案 »

  1.   

    Trim(keyword)不可以拿來判斷true或false的  
    If Trim(keyword)<>'' Then......End If
    這種格式倒可以
      

  2.   

    错了,应该这样
    If Not IsNull(keyword) Then
      

  3.   

    if trim(keyword & "") ="" then
      

  4.   

    关键是我IF要判断的内容是动态的,能不能用一个变量来表示它,而不是分别写出每一种情况的if段。上面的4个IF就是用来生成第5个IF的条件的.
    不是判断keyword是否为空!相关内容也可以参考我另一个帖子http://community.csdn.net/Expert/topic/3596/3596599.xml?temp=.1548883
      

  5.   

    楼主所有的判断结果都是一个字符&另一个字符串,结果还是一个字符串,可楼主却想用字符串来做布尔判断,所以只能说:“楼主结哀”
      

  6.   

    我已经用最笨的办法解决了。可能是我没有说清楚,我的原意是:
    keyword = "a>b and c<d and e=f"
    if keyword then ....
    也就是说第2句要达到if a>b and c<d and e=f then...的效果。
    VB里面是不是没法实现的啊?
      

  7.   

    If Trim(keyword)<>"" Then