can some one plz help me out the following code is giving an error as data type mismatch in crieteria expressionat line

Set rs = conn.Execute(str)

i am stuck plz help


VB Code:
  1. ConvertTxtToExcel(lSourceFile As String)
  2.  
  3.   Set myXLObj = CreateObject("Excel.Application")
  4.     myXLObj.Visible = True ' to make the Excel app visible
  5.     On Error GoTo 0
  6.     With myXLObj
  7.     .Workbooks.OpenText FileName:=lSourceFile, DataType:=XLDELIMITED, _
  8.             TextQualifier:=XLDOUBLEQUOTE, semicolon:=True, _
  9.             FieldInfo:=Array(1, 2)
  10.         End With
  11.        
  12.         Dim i As Integer
  13.         Dim j As Integer
  14.         Dim a As String
  15.         Dim str As String
  16.         Dim k As String
  17.         i = 5
  18.         j = 1
  19.        While i < 180
  20.             While j <= 7
  21.             If j = 1 Then
  22.             k = "notice"
  23.             ElseIf j = 2 Then
  24.             k = "are1no"
  25.             ElseIf j = 3 Then
  26.             k = "Date"
  27.             ElseIf j = 4 Then
  28.             k = "pname"
  29.             ElseIf j = 5 Then
  30.             k = "IName"
  31.             ElseIf j = 6 Then
  32.             k = "tariff"
  33.             ElseIf j = 7 Then
  34.             k = "duty"
  35.             End If
  36.          
  37.         Set conn = New ADODB.Connection
  38.                 conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\excel\xldata.mdb;Persist Security Info=False")
  39.        
  40.         a = Cells(i, j).Value
  41.         'str = " update [data] set [" & k & "] = '" & a & "'  where [sno] = '" & i & "'"
  42.         str = "UPDATE [data] SET " & k & "= '" & a & "' WHERE sno = '" & i & "' "
  43.  
  44.     Set rs = conn.Execute(str)
  45.  
  46.                
  47.         j = j + 1
  48.         Wend
  49.  
  50.  i = i + 1
  51.  Wend
  52.  End Sub