帮我看看这段代码:
        If Left(Trim(RS.Fields(0)), 1) <> "@" Then
            If RS.Fields(1) < 10 Then
                pallet = Trim(RS.Fields(0)) & "0" & Trim(Str(RS.Fields(1)))
            Else
                pallet = Trim(RS.Fields(0)) & Trim(Str(RS.Fields(1)))
            End If
        End If为什么运行第一行就会死掉了, Fields(0)是Varchar类型, Fields(1)是Int类型?
注释掉"Left(Trim(RS.Fields(0)),1) <> "@""就没问题.

解决方案 »

  1.   

    建议测试步骤:
    第一:把Left(Trim(RS.Fields(0)), 1) 改为Left(Trim("@abc"), 1),运行程序看是否有问题
    第二:把Left(Trim(RS.Fields(0)), 1) 改为Left(Trim(""), 1),运行程序看是否有问题 
    如果第一步有问题,则进行第三步,如果第二步有问题,那么就是你的rs.fields(0)里有空值
    第三:把 <> "@" 改为 <> "a",运行程序看是否有问题,如果有问题那只能是@不能在这里使用,但这应该是不可能的 
      

  2.   

    先判断rs.fields(0)是否为空    If Trim(RS>Fields(0))<>"" Then 
            If Left(Trim(RS.Fields(0)), 1) <> "@" Then
                If RS.Fields(1) < 10 Then
                ......
      

  3.   

    最好先把数据打出来看看再说:
    debug.print Trim(RS.Fields(0),len(Trim(RS.Fields(0))