Dim i_num As Long
Dim i_sub As Longi_num = Val(DataGrid1.Columns(0).Text)
i_sub = Val(DataGrid1.Columns(1).Text)
Call Main
Set adoRS = adoCon.Execute("delete from issuelog where issue_num = '" + i_num + "' and i_sub_num = '" + i_sub + "'")运行后提示数据类型不匹配,请问是什么问题?谢谢.

解决方案 »

  1.   

    修改access的数据类型为长整形
      

  2.   

    把数据库里的类型改为long integer,同样的提示
    把i_num,i_sub类型改为integer,同样的提示...
      

  3.   

    把i_num 和 i_sub进行数据类型强制转换为和数据库中相同数据类型。看看 
      

  4.   

    Dim i_num As Long 
    Dim i_sub As Long i_num = Int(Val(DataGrid1.Columns(0).Text))
    i_sub = Int(Val(DataGrid1.Columns(1).Text))
    Call Main 
    Set adoRS = adoCon.Execute("delete from issuelog where issue_num = '" + i_num + "' and i_sub_num = '" + i_sub + "'") 做如上改动后还是不行,郁闷啊...
      

  5.   

    tryDim i_num As string
    Dim i_sub As stringi_num = DataGrid1.Columns(0).Text
    i_sub = DataGrid1.Columns(1).Text
    Call Main
    Set adoRS = adoCon.Execute("delete * from issuelog where issue_num = " + i_num + " and i_sub_num = " + i_sub)
      

  6.   

    adoCon.Execute(字符串)你把变量声明成什么样,都会转字符串拼sql语句,有意义吗?确认报错不在 sub main过程里面。
      

  7.   

    忽略了一点,vb中字串连接是&,把你的+改为&试下