Private Sub Form_Activate()
Dim j As Integer
 
    Dim MsgText As String
    Dim F As Integer
    Dim s As String
   
    For F = 0 To Form5.List2.ListCount
        s = Form5.List2.List(F)
        txtSQL = "select 物质名称,AN,BN,CN from 表1 where 物质名称 = '" & s & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        With msgList
        .Rows = F + 1
        
        Do While Not mrc.EOF
            .Rows = .Rows + 1
            For i = 0 To mrc.Fields.Count - 1
                .TextMatrix(.Rows - 1, i) = mrc.Fields(i) & ""
              b(.Rows - 1, i + 1) = Val(mrc.Fields(i))
              
            Next i
            mrc.MoveNext
        Loop
        
    End With
    Next
    mrc.Close
End Sub
Public Function ExecuteSQL(ByVal SQL _
   As String, MsgString As String) _
   As ADODB.Recordset
   Dim cnn As ADODB.Connection
   Dim rst As ADODB.Recordset
   Dim sTokens() As String
   
   On Error GoTo ExecuteSQL_Error
   
   sTokens = Split(SQL)
   Set cnn = New ADODB.Connection
   cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=化工数据.mdb;Persist Security Info=False"
   cnn.Open   If InStr("INSERT,DELETE,UPDATE", _
      UCase$(sTokens(0))) Then
      cnn.Execute SQL
      MsgString = sTokens(0) & _
         " query successful"
   Else
      Set rst = New ADODB.Recordset
      rst.Open Trim$(SQL), cnn, _
         adOpenKeyset, _
         adLockOptimistic
      rst.MoveLast     
      Set ExecuteSQL = rst
      MsgString = "查询到" & rst.RecordCount & _
         " 条记录 "
   End If
ExecuteSQL_Exit:
   Set rst = Nothing
   Set cnn = Nothing
   Exit Function
   
ExecuteSQL_Error:
   MsgString = "查询错误: " & _
      Err.Description
   Resume ExecuteSQL_Exit
End Function
调试时出现错误with变量未定义
mrc变量为nothing
请问则么那么改这个错误